admin 管理员组文章数量: 887006
蓝桥杯 基础练习 Huffuman树(C++)
前言
写这篇文章就只是想谈一下今天写蓝桥杯代码遇到的一个问题
代码展示
#include <iostream>
#include <algorithm>
using namespace std;int px(int n, int h[])
{for(int i=0;i<n-1;i++)//从小到大排序 {for(int j=i+1;j<n;j++){if(h[i]<h[j])//如果前面的小就进行交换,大在前面,小在后 {int tem;tem = h[i];h[i] = h[j];h[j] = tem;}}}
}int main()
{int h[100];int c[100];int n,sum = 0;cin>>n;for(int i=0;i<n;i++) cin>>h[i];for(int i=n-1;i>0;i--)//寻找n-1次最小值 {px(i+1, h); //px(n, h)也正确####################### 看这里 #############################sum += (h[i]+h[i-1]);h[i-1] = h[i]+h[i-1];}cout<<sum<<endl;
}
说明
看px(i+1, h)这句代码,i+1和n都可以
因为每一次排序最小的都会被放在右面,所以没有必要去纠结排序带上之前的会不会出错
这里 想了好久
参考
参考一
参考二
本文标签: 蓝桥杯 基础练习 Huffuman树(C)
版权声明:本文标题:蓝桥杯 基础练习 Huffuman树(C++) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732353800h1533857.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论