内排序算法总结——插入排序


所属类别:技术博客

文章作者:JianXiong

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


插入排序算法的原理:1. 首先将数组的第一个数A[0]看成是排好序的2. 然后从第二个元素开始和它前面的元素进行比较,如果从前面的某一个数大,就交换。由于前面的元素是有序的,所以就使有序元素的个数逐渐增大,直到等于n。插入排序是稳定的,插入排序的时间复杂度为O(n2)。最坏的情况就是要插入的数比下标为0的数小,循环比较交换时要一直比到最前面,然后把它放在第一个元素上。所以,当整个待排序数组时反序时(如6,5,4,3,2,1)时,运行时间最长代码如下:voidPrintArray(intdata[],intn)...{inti;for(i=0;i<n;i++)...{printf("%d",data[i]);}printf(" ");}voidSwap(int&a,int&b)...{intt=a;a=b;b=t;}/**//*插入排序*/voidInsertSort(int*A,intn)...{for(inti=1;i0&&A[j]<A[j-1];--j)...{Swap(A[j],A[j-1]);}}}voidmain()...{intA[]=...{8,6,24,-12,11,63,18};InsertSort(A,7);PrintArray(A,7);}发表于 @ 2006年09月28日 16:42:00评论(loading...AddFeedbackCountStack("1302205"))编辑新一篇:内排序算法总结——选择排序旧一篇:内排序算法总结——快速排序

相关信息

· 控制输出字符串的长度,可以区别中英文(ASP)

· 删除特殊文件名

· 使用路由器作流量检测的几种方法

· 网络游戏外挂制作之我所见(7)








....

28845 20751