arithmetic 直接插入排序
摘要:直接插入排序基本思想 1.直接插入排序的基本思想 直接插入排序(Straight Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程 中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。 把a[i]插入到a[0],a[1],...,a[i-1]之中的具体实施过程为:先把a[i]赋值给变量t,...
阅读全文
posted @
2011-09-07 11:45
wtq
阅读(286)
推荐(0) 编辑
arithmetic 快速排序(冒泡的改进)
摘要:1,快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 步骤为: 从数列中挑出一个元素,称为 "基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出
阅读全文
posted @
2011-09-06 23:58
wtq
阅读(448)
推荐(0) 编辑
arithmetic 冒泡算法
摘要:1.使用冒泡算法进行排序,此冒泡算法是从最上面往下沉。属于反冒。 2.代码如下: 冒泡算法1classProgram2{3staticvoidMain(string[]args)4{5intn=10;6inttemp;7int[]a={6,5,4,9,2,0,15,19,25,95};8for(inti=n-1;i>0;i--)9{10for(intj=0;j<i;j++)11{12if(a[j]>a[j+1])13{14temp=a[j];15a[j]=a[j+1];16a[j+1]=temp;17}18}19}2021for(inti=0;i<a.Length;i+
阅读全文
posted @
2011-09-06 16:51
wtq
阅读(409)
推荐(0) 编辑