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

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;}

 

 

 

Spark独门秘籍:打造结构一体化、功能多元化的高效数据流水线 【走进支付宝】重磅嘉宾!历届“走进企业”回顾 【OSTC讲师专访】腾讯TDW项目:开源的分布式数据仓库 ID爆发的物联网时代,我们该如何管理手中的数百个账户 取代Google Maps?苹果大幅优化Apple Maps用户体验 中交兴路系统架构师杨晓明:Hadoop+Storm+ HBase…,打造交通行业创新型服务 雨果&#183;巴拉的第二春:我与小米的那些事儿 为什么Android Wear能统领智能手表领域? LinkedIn缘何抛弃Ruby,转投NodeJS怀抱 【OSTC讲师专访】九秒社团李明:开源对游戏产业的渗透与帮助 IBM 2014中国论坛:挖掘新互联网时代下“智慧企业”的发展之路 Facebook工程部副总裁Cory Ondrejka谈企业在早期所遇到的管理瓶颈 小团队管理工具选择:不需要大而全 《近匠》聚合CEO左磊:基础数据免费,API开放 IDC:HTML5与原生应用之争还将长存 不甘称臣,Google誓要击败Amazon 【OSTC讲师专访】腾讯追风(QcloudMna):开源移动加速SDK Google Go:一门为云而生的编程语言 3月26日:没有Larry Page,就没有今天的Google Hortonworks再获1亿美元融资,Hadoop领域三足鼎立 Intel收购Basis Science,欲拓展可穿戴设备市场 Facebook以20亿美元收购Oculus:虚拟现实将是未来计算平台又一大事件 基于NodeJS的14款Web框架 Hadoop导航:版本、生态圈及MapReduce模型 把黑匣子送上“云” 失联困境能否不再 看看全球十大电信巨头的大数据玩法 尹绪森:打开圈子拥抱变化,谈Spark玩家的自我修养 从Healthbook看苹果将如何颠覆移动医疗和健身追踪 Google可穿戴:详解Android Wear的十大功能 初创企业非技术人员的迷思 【OSTC讲师专访】王兴博:Genesis-3D,3D开源游戏引擎 帮帮我怎么把系统还原占用的空间还给我——老鸟们帮忙! 过滤问题:Query需要先选择一个表(通过ComboBox)然后从2个Edit内输入两个条件 关于stringgrid的翻页问题 寻找电脑方面的朋友 大家好,帮忙做做这题 大家如何保存自己地提问?? JTable怎样一行一行地显示? 我的程序 无边框窗口显示问题 求教各位大虾 VB数据库 如何知道某字段有这个姓名记录? 我想学一种C++的集成环境,是C++BUILDER还是VC 我完全没基础,请帮我走出第一步:汇编工具在哪下载?我想试试那个“两只老虎” 如何在还原Cookie中的中文字? 制做彩色立体阴影怎么做啊! 我的程序 请问有没有这样的公司? 2000 server 无法使用ADSL????? 我要和她分手。。。。。。。。 一个不错的网站,进来看一下吧! map 使用的几个小问题 請大家幫我做這個的標準譯文,謝謝!!! 就像做考題一樣,不要只說它在概意思! 新手上路第一问!Hello World都不能运行 这样的SQL语句怎样转化成能在mysql下运行的 学汇编,应用在什么地方?单从功能来说,汇编强大还是C++强大 replace语句的使用方法: 一个不错的网站,进来看一下吧! 关于软加密的问题???? 请高手,两个简单的问题?在线等待???急急!!! 关于ADOQuery1.refresh的问题 我的程序 一个不错的网站,进来看一下吧! 求DELPHI开发ACTIVEX用于WEB打印指定内容的实现说明。 dreamweaver中的一个小问题,,,急!急!急! 我的程序 100分求救啊!使用TEvent对象要包含什么头文件啊? 如何使SYNTAXFROMSQL不从RDBMS中的extended attribute system tables中获取数据 一个不错的网站,进来看一下吧! 几个菜鸟问题 求教:如何配准图形和图象 如果不会C语言,也不会汇编语言,那么学C++困难还是学汇编困难 请各位帮忙超简单,散分! 向往技术的高手请进!能否用DoEvents 实现多线程呢? 谁有DATALIST分页控件,说明如何使用! 怎样用VB读取98系统当前的硬件配置??求助!!!! 在线等呀 急急!!!!!!!!!!! 急,有关视频输出的问题~~ 我在WIN ME 上UPDATE,结果导致无法收看网络电影(用WMA格式的) cannot focus a disable or invisible window 有关session与servlet/JSP的问题: 但是一定要准确,别随便复制一段资料! NaHS 是什么酸的盐?咋读? 分度头分78等分怎么分谢谢了 1988年中共中央和国务院决定建立的经济特区 无级变速器是什么意思? 分度头 三等分一个圆用万能分度头 怎么来三等分一个圆 本人刚刚接触有点混 1980年,中央和国务院决定在哪设置经济特区 分度头,49等分怎么分, 33等份在分度头怎么分万能分度头上加工33等份如何分啊 君子喻于义 小人喻于利是什么意思? 自动变速器和无级变速器的区别是什么?请教专家:自动挡车和无极变速车有什么区别?在驾驶手法上有什么区别吗?谢谢. 分度头怎分61等份 雅阁玻璃水能加几升雅阁车玻璃水能加几升,买几升的玻璃水比较适用. 什么是无级变速器? 桂园小学同学在“迎奥运”活动中共放飞了2008只鸽子,其中低年级同学放飞的有508只,中年级同学与高年级同学放飞只数的比是9∶16.高年级同学比中年级同学多放飞多少只? 有水解程度达50%以上的盐吗? 用一种试剂就可以把NACL,NAHSO4,NAOH,HCL鉴别出.A.CA(HCO3)2B.CACL2C.BA(OH)2D.石蕊 桂园小学同学在2008年“庆奥运”活动中放飞620只鸽子,其中低年级同学与高年级同学放飞只数的比是3:8中年级同学与高年级同学放飞只数的比是9:16,中年级同学比低年级同学多放飞多少只? 13,14,15,16题, 钛金属能被什么分解呀, 同学们在迎世博活动中共放飞了2010只鸽子,低年级同学放飞了510只鸽子,中年级比高年级同学放飞只数比是9比16,高年级同学比中年级同学多放飞了多少只 15 16 17题, 有什么办法让两种金属分离吗? 用4个1平方分米的的正方形分别拼成一个正方形和长方形,长方形面积是多少? 我有标答,要的是思路或过程,例四我有标答,要的是思路或过程, 例四 碳氢油是真的还是假的有这东西吗 把4个棱长2分米的正方形,拼成一个长方形,拼成的长方形面积可能是多少平方分米? 请问不同品牌的玻璃水能混用吗? 数控分度头和分度盘的区别是什么? 把一个长方形的长增加5分米,宽增加8分米后,得到一个面积比原长方形多181平方分米的正方形,这个正方形的 硝酸钾含100mg氮的意思是?怎么计算? 17.设A={1,a\1,ab},B={0,1,a}.若A=B,则a=_____,b=____17.设A={1,a\1,ab},B={0,1,a}.若A=B,则a=_____,b=_____. NaHS是酸式盐吗 任何一个碳原子都只连1个氢原子和3个碳原子这是什么有机物 1:如果a NaHS的质子守恒是?3q 我的世界最新版本是多少?我看到有1.8的,不知道是不是最新的,还有我看视频上有的版本材料做得略微好看些是怎么回事?小地图是怎么来的? A+B=15 B+C=16 A+C=17ABC各=几 alcl3和nahs反应方程式 BASO3是不是沉淀物 A÷B÷C=6,A÷B-C=15,A-B=17,则A+B+C=多少,A×B×C=多少2009年初八前一定要回答出来! 我有标答,要的是思路或过程, solidworks钣金零件中要焊接一根管子,管子是焊接在板材中的,不是焊接在表面,想知道3维展开图怎么画? 什么是煤沥青 我有标答,要的是思路或过程,各个选项.我有标答,要的是思路或过程, 各个选项. solidworks焊件库怎么没有h型钢 煤沥青最近有什么动态? 火药是那个国家发明的? 黑洞和白洞是不是物质 煤沥青的主要用途 初三化学酸碱盐,求详解!我有标答,要的是思路或过程,谢谢! c怎么鉴别初三化学酸碱盐,求详解!我有标答,要的是思路或过程,谢谢! c怎么鉴别 一辆汽车从甲地开往乙地,已经行了120千米,相当于全程的60%.这辆车离乙地有多少千米? 山西省煤沥青价格是多少?有谁知道山西最近在中温沥青价格行情是怎样的? 碳氢油怎么样?有谁了解这一块的?能不能做啊? www.vkeke.com为什么打不开了 NAHS分解成什么 甲醇和碳氢油哪个作为汽车动力油更好?_什么油料更有发展前途 请问BASO3可以怎样制得我不知道BASO3是什么反应的产物.这种沉淀怎么来的啊 NaHS什么情况下结晶? 什么是碳氢油 克里强调美沙关系战略意义 两国关系或美联储官员称不急于缩减购债 将取决于美国务卿克里访问沙特 跟小宝宝“握脚美媒:28%美国人视中国为全球头号经日本“2 2”会谈企图拉拢俄罗斯牵制美为击毙塔利班头目辩护 称与巴基斯坦美联储官员称不急于缩减购债 将取决于美澳科学家呼吁 研发更安全核能替代矿路透社:黑市汇率在朝鲜大行其道推特调高IPO发行价区间南京富二代杀妻案庭审结束 被告人愿赔日媒:中国和日本被美国列入“重点监视台向美购阿帕奇战机抵台组装测试(图)台向美购阿帕奇战机组装过程曝光(组图克里急赴中东安抚盟友沙特中国梦惠及非洲英超市香蕉出剧毒蜘蛛 全家躲出三晚消美海军一教练机坠毁 两飞行员受伤送医曝孙杨所载女子为新女友 已与大5岁空独家:小沙丘 大文章——本网记者探访韩国总统朴槿惠赴英访问 重点商讨经济千阳300余人义务献血9.3万毫升轮胎扎钉子 车撂路上 交警高速上帮换西安大学生报警端窝点“西凤酒之行留下难忘的珍贵回忆”6所学校存在校车不足问题冬天来了 家具开裂变形怎么办?三号线跑区间车 香湖湾站算小终点观影先看广告维护“一国两制” 遏制“港独”分子青少年流感感染率最高 流感疫苗需每年电线起火引燃养牛场 黄牛30吨“口粮根除火车站周边治安乱象女子只顾看风景 走路踩空掉河里长安区昨大面积停水俩大学生来西安旅游 捡上万元现金还失霾开雾散 空气终于清新了通往麟游3条道路有2条在施工宣讲党的十八届六中全会精神获奖读者参观酒厂电线起火引燃养牛场改签他人火车票乘车被拘5天
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘