Math
文章平均质量分 66
chengshaoguang
倚楼听风雨淡看江湖路
展开
-
快速排序的实现
快速排序是一种效率很高的排序算法了。其主要思想为:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。下面为实现代码:template void quickSort(T* ptr,int left,int right){ if(left < right){原创 2014-01-22 19:41:56 · 510 阅读 · 0 评论 -
shell排序的实现
shell排序的基本思想为:将待排序的数组分成若干较小的序列,然后再每个序列上分别使用插入排序算法进行排序。将原数组分成若干个短序列的方法为(这儿方法不唯一,下面介绍一种常用的方法):比如要对N个数进行排序,第一趟排序时,取间隔为step = N/2;第二趟排序时,取间隔step = step/2;依次进行,直至step=1。下面举一例子:比如要对60, 17, 26, 93, 8, 40,原创 2014-01-22 18:13:42 · 649 阅读 · 0 评论 -
关于插入排序的几种实现
插入排序的思想是:当要确定第i个数据的位置时,我们从第0个位置开始,依次将每个数与第i个数作比较,直至遇见比第i个数大的数,将第i个数插入此处。如果未遇见,则证明第i个数已在正确位置上。依据上面的思想,不难有下面的实现(python):for x in range(1,len(a)) : f = False for y in range(x) : if a[x] < a[y] :原创 2014-01-22 15:37:26 · 575 阅读 · 0 评论