题解 | #哈夫曼树#

哈夫曼树

https://www.nowcoder.com/practice/162753046d5f47c7aac01a5b2fcda155

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define len 1009
#define maxint 1<<31-1

int l,r;
int list[len];

void initial_list(){
    l = 0;
    r = 0;
}

void push_back(int x){
    list[r++] = x;
}

int pop_front(){
    return list[l++];
}

int cmp(const void*s1,const void*s2){
    int a1 = *(int*)s1;
    int a2 = *(int*)s2;
    return a1-a2;
}

void list_sort(){
    qsort(list+l,r-l,sizeof(int),cmp);
}

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        initial_list();
        for(int i = 0;i<n;i++){
            int x;
            scanf("%d",&x);
            push_back(x);
        }
        int res = 0;
        while(r-l!=1){
            list_sort();
            int a = pop_front();
            int b = pop_front();
            int temp = a+b;
            res+=temp;
            push_back(temp);
        }
        printf("%d\n",res);
    }
}

全部评论

相关推荐

大飞的诡术妖姬:之前看b站多明海有个说法,日本就业竞争非常低的原因不光是毕业学生少,还有很多人干两年不喜欢职场氛围就辞职躺平,位置也空了很多,论吃苦耐劳还得看咱们
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务