常用排序法C语言编程

常用排序法C语言编程

ID:41032721

大小:36.00 KB

页数:4页

时间:2019-08-14

常用排序法C语言编程_第1页
常用排序法C语言编程_第2页
常用排序法C语言编程_第3页
常用排序法C语言编程_第4页
资源描述:

《常用排序法C语言编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、冒泡法排序基本思想: 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得

2、到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。C语言程序示例: voidbubble_sort(intarray[],intn)  {  inti,j,flag,temp;  for(i=0;iarray[j+1])  {  temp=array[j];  array[j]=array

3、[j+1];  array[j+1]=temp;  flag=0;  }  }  if(1==flag)  break;  printf("%d",i);  }  return;}插入法排序基本思想:  将n个元素的数列分为已有序和无序两个部分,如下所示:  {,{a2,a3,a4,…,an}}  {{a1(1),a2(1)},{a3(1),a4(1)…,an(1)}}  …{{a1(n-1),a2(n-1),…},{an(n-1)}}  每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将

4、该元素插入到有序数列的合适位置中。插入排序算法步骤:  1.从有序数列和无序数列{a2,a3,…,an}开始进行排序;  2.处理第i个元素时(i=2,3,…,n),数列{a1,a2,…,ai-1}是已有序的,而数列{ai,ai+1,…,an}是无序的。用ai与ai-1,ai-2,…,a1进行比较,找出合适的位置将ai插入;3.重复第二步,共进行n-1次插入处理,数列全部有序。程序示例:  voidinsertSort(Type*arr,longlen)/*InsertSortalgorithm*/  {  longi=0,j

5、=0;/*iteratorvalue*/  TypetmpData;  assertF(arr!=NULL,"InInsertSortsort,arrisNULL");  for(i=1;i0&&tmpData

6、i,j;  inttemp;  for(i=1;i=0)&&(array[j]>temp))  {  array[j+1]=array[j];  j--;  }  array[j+1]=temp;  }  }

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

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

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