C++实现哈夫曼树(使用普通排序和堆结构)
发布时间
阅读量:
阅读量
第一种方法:排序
1.按照从小到大的顺序进行排列,
2.将前两个数值相加,并将结果赋给第二个位置,
3.再次进行排序(或优化为向后依次比较并赋值);
4. 循环执行步骤2和3.
const int maxn = 1001;
int fruit[maxn], n;
void create(int n)
{
for (int i = 1; i <= n; i++)
{
cin >> fruit[i];
}
}
int main()
{
int j, temp,sum=0;
cin >> n;
create(n);
sort(fruit, fruit + n+1);
for (int i = 2; i <= n; i++)
{
fruit[i] += fruit[i-1];
sum += fruit[i];
j = i;
temp = fruit[i];
while (fruit[j + 1] < temp && j + 1 <= n) {
fruit[j
全部评论 (0)
还没有任何评论哟~
