常用排序算法26550

常用排序算法26550

ID:38400798

大小:26.50 KB

页数:10页

时间:2019-06-11

常用排序算法26550_第1页
常用排序算法26550_第2页
常用排序算法26550_第3页
常用排序算法26550_第4页
常用排序算法26550_第5页
资源描述:

《常用排序算法26550》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、常用排序算法总结及C源程序*直接插入排序*//*思想:先将有序序列中的第1个元素看作是有序序列的子序列,然后从第2个记录开始逐个进行插入*//*直至整个序列变成按关键字非递减的有序序列为止。*/voidInsertSort(int*out,int*op,intlength){inti,j;intdata;memcpy(out,op,length*sizeof(int));for(i=1;i=0;j--)  {  ou

2、t[j+1]=out[j];  }  out[j+1]=data;}}--------------------------------------------------------------------------------------------------------------------------------/*折半插入排序*//*思想:与折半查找类似*/voidBInsertSort(int*out,int*op,intlength){intlow,mid,high;  inti,j,data;me

3、mcpy(out,op,length*sizeof(int));for(i=1;i=high+1;j--)  out[j+1]=out[j];    out[j+1]=data;}}--------------------

4、------------------------------------------------------------------------------------------------------------/*冒泡算法*//*思想:*//*第一趟冒泡排序(比较第1个到第n个记录):*//*首先比较第1个元素和第2个元素的大小,若第1个比第2个小,则交换他们的值*//*接着比较第2个元素和第3个元素的大小……直到第n-1和第n个元素*//*第二趟冒泡排序(比较第1个到第n-1个记录)*/voidBubbleS

5、ort(int*out,int*op,intlength){inti,j;memcpy(out,op,length*sizeof(int));for(i=length-1;i>=0;i--){  for(j=0;jout[j+1])  {  swap(out+j,out+j+1);  }  }}}------------------------------------------------------------------------------------------

6、--------------------------------------/*快速排序,对冒泡排序的一种改进*//*思想:通过一趟排序,将待排记录分为独立的两部分,其中一部分记录的关键字均比另一部分的关键字小*//*则可对这两部分记录继续进行排序,以达到整个序列有序*//*一趟快速排序的做法*//*附设两个指针low,high,分别指向第1个记录和第n个记录,设关键字枢纽为pivokey,指向第一个记录*//*1.首先从high位置向前搜索,直到搜到比pivokey小的记录,与pivokey进行交换*//*2.从l

7、ow位置向后搜索,知道搜到比pivokey大的记录,与pivokey进行交换*//*3.重复这两步,直到low=high为止*/intPartition(int*out,int*op,intlength,intlow,inthigh){  intpivokey;  memcpy(out,op,length*sizeof(int));  pivokey=out[low];  while(lowpivokey&&low

8、ap(out+high,&pivokey);  while(out[low]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。