- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数组排序的几种方法
★数组排序的几种方法!
????? 问题:数组排序(即按某种特定的顺序排列数据,如升序或降序)是最重要的计算应用之一,银行用帐号对所有的支票进行能够排序,并根据排序结果准备月底的财务报告,学校学生成绩管理系统用数组排序的方法将考试成绩从高到低进行排名,数组排序方法很多,有直接插入排序、冒泡排序、快速排序、直接选择排序,下面来详细介绍这四种基本的排序方法及其实现。
1,直接插入排序:当数据表A中每个元素距其最终位置不远,数据表A按关键字值基本有序,可用此方法排序较快。
2,冒泡排序法:将较小的值“上浮”到数组顶部,而较大值“下沉”到数组底部,这种排序技术要比较好几趟,每一趟要比较连续的数组元素对,如果某对数值是按升序排序的(或者这两个值相等),那就保持原样,如果某对数组是按降序排列的,就要交换它们的值。
3,快速排序法:快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
4,直接选择排序法:直接选择排序的作法是:第一趟扫描所有数据,选择其中最小的一个与第一个数据互换;第二趟从第二个数据开始向后扫描,选择最小的与第二个数据互换;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。它比起冒泡排序有一个优点就是不用不断的交换。
程序1:直接插入法实现对数组的排序!#includestdio.h#includeconio.h
int main(){??????? void InsertSort(int [],int);??????? int a[7]={8,10,2,3,1,7,13};??????? int i;??????? InsertSort(a,7);??????? for(i=0;i7;i++)?????????? printf(%4d,a[i]);??????? getch();}void InsertSort(int a[],int count){??????? int i,j,temp;??????? for(i=1;icount;i++)?????????? {?????????? temp=a[i];?????????? j=i-1;?????????? while(a[j]temp j=0)?????????? {???????????? a[j+1]=a[j];????????????? j--;?????????? }?????????? if(j!=(i-1))????????????????? a[j+1]=temp;???????? }}程序2:冒泡法实现对数组的排序!#includestdio.h#includeconio.hint main(){???????? void BubbleSort(int []);???????? int a[10];???????? int i,j,temp;???????? printf(Input tem integer numbers for a[10]:);???????? for(i=0;i10;i++)??????????? scanf(%d,,a[i]);???????? printf(\n);???????? BubbleSort(a);???????? printf(The sorted array is:\n);??????????? for(j=0;j10;j++)???????????????? printf(%d,,a[j]);???????? printf(\n\n);???????? getch();}
void BubbleSort(int array[]){???????? int i,j,temp;?????????? for(j=0;j9;j++)????????????? for(i=0;i9-j;i++)???????????????? if(array[i]array[i+1])????????????????? {????????????????????? temp=array[i];????????????????????? array[i]=array[i+1];????????????????????? array[i+1]=temp;?????????????????? }}
程序3:快速排序法实现对数组的排序!#includestdio.h#includeconio.h#define Ma
您可能关注的文档
- Windows消息处理与多线程编程 2.doc
- Winform桌面应用程序中Combobox三级下拉菜单连动问题解决方案.doc
- Wireshark, Sniffer and Omnipeek三款网络分析工具比较.doc
- WPE使用教程以与BUFF教程.doc
- WPF控件使用和布局.ppt
- XML与其在电信EMS北向接口中研究与应用8.27.doc
- XP系统提示内存不足原因与解决方法.doc
- Z-Statk协调器 路由器 终端确定---Simple例程(二).doc
- “格高韵远”北宋词(二) 临江仙(梦后楼台高锁) ﹡鹧鸪天(彩袖殷勤捧玉钟) 清平乐(春归何处).doc
- ▲▲MTTY刷机指令命令(修复砖头用)大全-最详细指令介绍.doc
- 《缠论》附录之均线分类体系与应用.doc
- MCBSP 应用.doc
- 【优化方案】2014届高考数学(文科,大纲版)一轮复习配套:10.3 二项式定理.ppt
- 《计算机网络技术与应用(第二版)》第12章__网络管理与维护技术.ppt
- 《数据结构》实验三【 串的基本操作】.doc
- 【优化方案】2014届高考数学(文科,大纲版)一轮复习配套:2.2 函数定义域、值域.ppt
- 【优化方案】2014届高考数学(文科,大纲版)一轮复习配套:6.5 含绝对值不等式.ppt
- 【优化方案】2014届高考数学(理科,大纲版)一轮复习配套:2.2 函数定义域、值域(共35张PPT).ppt
- 【优化方案】2014届高考数学(理科,大纲版)一轮复习配套:4.1 任意角三角函数(共38张PPT).ppt
- 【优化方案】2014届高考数学(理科,大纲版)一轮复习配套:6.4 不等式解法(共34张PPT).ppt
最近下载
- 第四章战国、秦、汉、三国时期的建筑详解.ppt VIP
- T_HAEPCI 55—2023(有色冶炼场地土壤-地下水重金属污染协同修复与管控技术指南).pdf VIP
- 青春筑梦婴幼儿托育服务与管理专业启航未来职业生涯.pptx VIP
- 【新教材】2025-2026学年统编版(2024)三年级道德与法治上册第1课《学习伴我成长》课件.pptx
- T ACEF 111—2023 焦化污染土壤多环芳烃生物修复智能监测预警技术指南.pdf VIP
- MTT 114-2005 煤矿用多级离心泵.pdf VIP
- TACEF 112-2023 焦化污染土壤多环芳烃生物修复智能监测设备配置技术指南.pdf VIP
- GBT18479-2001 地面用光伏(PV)发电系统 概述和导则.pdf
- 低血容量性休克的护理.pptx VIP
- 2《住宅项目规范》宣贯培训-第3章.pdf
文档评论(0)