说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

C语言实现堆排序(Heap Sort)

HTML文档下载 WORD文档下载 PDF文档下载
对于大量的记录的排序来说,堆排序是一种非常有效的方法。如果排序的记录数不大,则堆排序的优越性并不明显,而且还需要一个供交换时暂存记录的辅助空间。

 

对于大量的记录的排序来说,堆排序是一种非常有效的方法。如果排序的记录数不大,则堆排序的优越性并不明显,而且还需要一个供交换时暂存记录的辅助空间。

 

堆排序的时间复杂度是O(nlgN),与快速排序达到相同的时间复杂度。但是在实际应用中,我们往往采用快速排序而不是堆排序。这是因为快速排序的一个好的实现,往往比堆排序具有更好的表现。堆排序的主要用途,是在形成和处理优先级队列方面。另外,如果计算要求是类优先级队列(比如,只要返回最大或者最小元素,只有有限的插入要求等),堆同样是很适合的数据结构。

 

 

测试代码:

 

#include <stdio.h>#define MARK 0static a[8] = {MARK,25,4,36,1,60,10,58,};int count = 1;void heap(int n);void adjust(int i,int n);int main(void){	int i;	printf("源数据为:");	for(i = 1;i<8;i++)		printf("%5d",a[i]);	heap(7);	printf("\n排序后的数据为:");	for(i = 1;i<8;i++)		printf("%5d",a[i]);	printf("\n");	return 0;}void heap(n)int n;{	int i,j,t;	for(i =n/2;i>0;i--)		adjust(i,n);	printf("\n初始化成堆===>   ");	for(i = 1;i < 8;i++)		printf("%5d",a[i]);	for(i = n-1;i>0;i--)	{		t = a[i+1];		a[i+1] = a[1];		a[1] = t;		adjust(1,i);		printf("\n第%2d步操作结果===>",count++);		for(j = 1;j<8;j++)			printf("%5d",a[j]);	}}void adjust(i,n)int i,n;{	int j,k,r,done=0;	k = r = a[i];	j = 2*i;	while((j<=n)&&(done==0))	{		if(j<n)		{			if(a[j]<a[j+1])				j++;		}		if(k>=a[j])			done = 1;		else		{			a[j/2] = a[j];			j = 2*	j;		}	}	a[j/2] = r;}

 

 

 

[开源推荐]Intention.js:通过HTML进行响应式开发 Android副总裁Hugo Barra将加盟小米 三星将召开首届开发者大会 推新SDK和S Pen 15个步骤创立技术公司,并收获千万用户(三) H3Cloud:为企业提供最优化IaaS方案 VMware、红帽对决云管理平台 大数据辅助决策,构建智慧城市 所见即所得:四款免编程移动游戏开发引擎推荐 PaaS乱局:Container的新机遇 IDC再度下调2013年全球PC销量预期 平板电脑中枪 Waze联合创始人做FeeX 用众包方式增加银行服务透明度 Ripple CTO Stefan Thomas:Bitcoin与未来支付应用开发 第二届Coding For Fun编程马拉松实时快报→→ 数字化你的脸:14个智能眼镜开发平台 Unite2013开发者大会:Unity新增多项重磅革新 微软大中华区副总裁谢恩伟:微软云+端应用模型前瞻 移动周报:从硬件马拉松到Barra加盟,本周小米很火 小而美的Diffbot:将Web页面转化为数据库,获多位科技大佬注资 “叙利亚电子军”对美国多家网站发起“电子制裁” 麻省理工TR35之IT界年轻有为创新者(上) Linux用户须知的16款实用软件 新平台,新惊喜:记第二届Coding For Fun 创业建议泛滥成灾 实用的不多 腾讯云俱乐部北京站:知名手游商畅谈云时代开发运营策略 LG再战平板市场:将推出8.3英寸平板G Pad 编程语言与工具专题论坛:各类编程语言使用体会分享 淘宝、腾讯、豆瓣、支付宝、网易专家热议大数据分析与BI实战 “创新或灭亡”:Google的80/20只是转移视线的说辞罢了 自动化编排,配合SDN的iMC V7更加开放 [回顾]比尔&#183;盖茨传奇的前半生 IT基础设施与运维论坛:IT基础设施及运维经验分享 用mdi模式做浏览器,当打开3个窗口的时候,发现被覆盖的窗口显示不全,具体情况请看...... 请问winform里有没有类似webform里的datalist或repeater控件? 怎样使工具条移动呢? 如何减少windows启动时候一个自动执行的应用程序 为什么这个网站疯狂的连接我?看不出来是什么原因 关于合计函数的错误 请高手帮忙! 请高手帮忙! 请高手帮忙! 双声卡问题求救 windows下如何阅读pdg文件? 求救,我的QQ好像中病毒了!(莫名其妙的自动发信息) 请高手帮忙! 请高手帮忙! 哪里有下载——规划办证hyppc.3.0的,很急的,多谢 datawindow的sql不能修改 有谁用过Dev的Print System,请进来看看! 2000的信使服务 新浪网上商店的东西能不能买? 制作网上收看MTV,和在线听歌,下载,和短信业务,使用什么技术最好? 在VB里的chr(32)等在c#里怎么实现! 动态添加控件,看看这行代码是否有错: 看sdk头大了,大家帮我解释一下这几句的意思吧~~~~~ 大虾们::急呀!帮帮!!在线等待!! 恶梦从上午开始 求助!我的CapsLock键出问题了(只能打开大写,不能关闭) 请帮我看这条SQL语句,什么地方不对啊! Webservice的哪里算中间层,可以进行逻辑控制?客户端是否需要midas.dll? 为什么客户端浏览器总出错误? 如何获得DataReader中的行数? Libran() 请进 什么关键时候信赖全球通??屁话,大家来帮忙鄙视一下移动!!! 如何设置Log文件,记录数据库的操作信息? 请问哪里可以买到数据线把手迹和电脑联起来 蓝天,我有一个CELL表格的问题? 请问那里有bcb6.0下载(100)分 用DataGrid进行自定义分页后,页面切换时,如何方便的记录嵌在DataGrid中的Checkbox的状态? 关于GHOST的问题,现在的版本是否能刻WIN2000,以及域网中广播式刻录的问题,急!!!!!!!!!!!!!!!!!! 图片显示问题 请问有关程序员的考试 AntBrother(蚁哥) 请进 AntBrother(蚁哥) 请进 帮忙,如何屏闭TextBox控件的其它字符输入,只能输入数字!!!! 下的一段代码,在BCB怎是报错 大难题:在Win2000或者WinXP上安装Oracle7.3.3 ???? 一个很菜的问题:怎么查看所有的变量或属性值? 请问VB.NET如何获取IE收藏夹的位置? 迷惑不解,请教了 怎么用按钮来控制复选框的全部选中呀??? Excel中宏的问题!急 大难题:在Win2000或者WinXP上安装 Oracle7.3.3 ??? 我以爱的名义占有了它,却又毁灭了它.生活中,你有类似的体会吗? 【求解】初学者关于高一数学集合的一些问题.(题目参考答案已给)1.设集合A={0,1},集合B={x|x包含于A},则A与B的关系是__A∈B__________问:包含不是用在集合与集合之间的么;∈不是用在元素 风吹草地见牛羊`谁写的?我喜欢谁~1 1 12 集合A是集合B的子集,可以记作A包含于B ,也可以表示为B包含A,那么,这个可以说是A=B么》? x方-9=o的所有实数根组成的集合.怎么表示 y=x+3 y=-2x=6 交点组成的集合?和不等式4x-5<3的解集 务必用 描述法 表达 形容人“清澈不见底”是啥意思啊? 形容人肤浅具体是什么意思啊? Z=i^2(1+i)的虚部是多少? 已知直线y=b(b<0与曲线f(x)=sin(2x+π/2)在y轴右侧依次的三个交点的横坐标成等比数列,则b的值是 已知直线y=b(b 已知直线y=b(b小于0)与曲线f(x)=sin(2x+派/2)在y轴右侧依次的三个交点 中国妇女十一大开幕 习近平等到会祝贺胡万林学徒云旭阳之死 喝3次五味汤精温岭医生遇害事件引发对医患关系的反思浙江省11月起试发布县级城市实时空气迈克尔杰克逊私人医生刑满出狱 欲再获美方称机密情报泄露未对美外交政策造成日抗议中国4海警船巡航钓鱼岛 遭驻日德媒:窃听丑闻吸取教训 要像中俄一样安倍突访土耳其 传为劝阻土放弃购中国月入过万缩水到3000元 杭州部分“浙江高考语文研讨会 预测阅读和写作是广州警方缉毒引枪战有警员受伤 警匪对兰州交通治堵进入“阵痛期” 单双号限“海鸥”登陆琼粤带来强风暴雨“海鸥”造成海南、广西受灾严重南宁市健身气功成为民运会正式比赛项目云南腾冲县发生4.2级左右地震中央办公厅:构建务实管用的廉政风险防中国重汽集团高管办公用房腾退4000被一场车祸改变的人生公安工商节前联合检查:80余家烟酒店潍坊一辆奥迪A6被卖给俩人 当地公安我家有个神仙姐姐重生唐僧混西游合成修仙传最后的地球公民英雄铸造师道卷灭尽纪永耀之光与流浪骑士东北灵异档案重生之荣耀权杖末世竞技场石门湖旅游程阳永济桥旅游金佛顶旅游太阳宫旅游黄河广场旅游车城福安宫旅游大兴安岭火灾纪念馆旅游白塔旅游银水侗寨旅游壕股塔旅游揽秀园旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘