摘要: 1,希尔排序。希尔排序是对插入排序的改进。它的原理是将元素分为设定步长的多个序列,对每个序列进行插入排序;然后改变步长,直到元素序列不可分,整个序列排序完毕。比如:data[10]={0,5,7,1,6,3,9,2,4,8};那么如何来排序呢?首先设定步长为3,那么第一次步长为3,此时数组被分为:{0,5,7}{1,6,3}{9,2,4}{8}接着对列进行排序,得到以下序列:{0,2,3}{1,5,4}{9,6,7}{8}即:{0,2,3,1,5,4,9,6,7,8}然后改变步长,分开的数组长度为3*3,原来数组的长度为10<3*3,故此时对整个数组进行插入排序。仔细观察,此时数组几乎已 阅读全文
posted @ 2012-12-27 16:44 da 阅读(376) 评论(0) 推荐(0)
摘要: 1,冒泡排序。冒泡排序的原理很形象,就像是气泡,轻的往上浮的过程,直到气泡都按轻重排列。那么算法中,如果我们用数组来存放元素,要对数组的每个元素进行向上冒泡。a,伪冒泡排序void Bubble(int *data,int length){ for(int i=0;i<length;i++)//每个元素进行冒泡 { for(int j=length-1;j>=0;j--)//每个元素与上一个元素进行对比 { if(data[i]<data[j])//冒泡,向上交换数据 { ... 阅读全文
posted @ 2012-12-27 09:46 da 阅读(224) 评论(0) 推荐(0)