【推荐】几种常用排序的代码

【推荐】几种常用排序的代码

ID:38738041

大小:37.24 KB

页数:11页

时间:2019-06-18

【推荐】几种常用排序的代码_第1页
【推荐】几种常用排序的代码_第2页
【推荐】几种常用排序的代码_第3页
【推荐】几种常用排序的代码_第4页
【推荐】几种常用排序的代码_第5页
资源描述:

《【推荐】几种常用排序的代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.桶排序(1).实现思路(2).复杂度与稳定性时间复杂度:O(n)空间复杂度:O(k)稳定性:稳定(3).代码实现2.冒泡排序(4).实现思路(5).复杂度与稳定性时间复杂度:最差、平均都是O(n2),最好是O(n)空间复杂度:1稳定性:稳定(6).代码实现1.鸡尾酒排序CocktailSort(1).实现思路鸡尾酒排序(改进的冒泡排序),原理是对要排序的数组进行双向冒泡排序,双向冒泡排序又称为鸡尾酒排序。(2).复杂度与稳定性同冒泡排序(3).代码实现1.#includeusingnamespace

2、std;/**/////////鸡尾酒排序/双向冒泡排序(改进的冒泡排序)voidCocktailSort(int*a,intnsize){   inttail=nsize-1;   for(inti=0;ii;--j)//第一轮,先将最小的数据排到前面       {           if(a[j]

3、             a[j-1]=temp;           }       }       ++i;              //原来i处数据已排好序,加12.for(j=i;ja[j+1])           {               inttemp=a[j];               a[j]=a[j+1];               a[j+1]=temp;           

4、}          }1.       tail--;        //原tail处数据也已排好序,将其减1   }}voidOutPut(int*b,intnLength){   for(inti=0;i

5、/sizeof(nData[0]));   OutPut(nData,sizeof(nData)/sizeof(nData[0]));   return1;}1.插入排序(1).实现思路插入排序就是先是一个有序的数据,然后把要插入的数据插到指定的位置,而排序首先给的就是无序的,我们怎么确定先得到一个有序的数据呢?答案就是:如果只有一个,当然是有序的咯。我们先拿一个出来,他是有序的,然后把数据一个一个插入到其中,那么插入之后是有序的,所以直到最后都是有序的。。哈哈。结果就出来了!当然在写的时候还是有一个技巧的,不需要开额外的

6、数组,下标从第二个元素开始遍历知道最后一个,然后插入到前面已经有序的数据中。这样就不会浪费空间了。插入排序用处还是很多的,特别是链表中,因为链表是指针存放的,没有数组那么好准确的用下标表示,插入是简单有效的方法。嘻嘻。(2).复杂度与稳定性最差和平均时间复杂度:O(n2),最好是O(n)空间复杂度:O(1) (用于记录需要插入的数据)稳定性:稳定(1).代码实现A.从前向后查找的插入排序:[cpp] viewplaincopy1./**********************************************

7、********** 2.*函数名称:InsertSort 3.*参数说明:pDataArray 无序数组; 4.*          iDataNum为无序数据个数 5.*说明:    插入排序 6.*********************************************************/  7.void InsertSort(int* pDataArray, int iDataNum)  8.{  9.    for (int i = 1; i < iDataNum; i++)    //从第

8、2个数据开始插入  10.    {  11.        int j = 0;  12.        while (j < i && pDataArray[j] <= pDataArray[i])    //寻找插入的位置  13.            j++;  14.          15

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

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

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