排序算法分类:内部排序(在排序过程中不需要访问外存就可以完成排序)外部排序内部排序分类:交换排序冒泡排序快速排序选择排序直接选择排序堆排序插入排序直接插入排序希尔排序合并排序外部排序:
常见的是多路归并算法,即将原文件分为多个能够一次装入内存一部分,分别把每一部分调入内存完成排序,然后对已经排序的....
分类:
其他好文 时间:
2014-06-29 14:23:42
阅读次数:
314
stooge排序是一种递归排序算法,这种排序算法不仅慢于一般的有效排序算法(如:插入排序,合并排序,堆排序和快速排序),甚至慢于冒泡排序。是一种简单但低效的排序算法。...
分类:
其他好文 时间:
2014-06-07 01:26:17
阅读次数:
173
冒泡排序法是一种经典的、入门级的排序算法。它重复地遍历整个数组,对数组的元素进行两两比较,如果两数的顺序有误,则将两数字交换。
由于在比较的过程中,最小的数先变换到数列的顶端,其次是第二小的数……直至所有数字完成排序,因而得名冒泡排序。...
分类:
其他好文 时间:
2014-06-05 11:39:09
阅读次数:
194
在大多数情况下插入排序比选择排序和冒泡排序快些,
int[] a = {222,44,11,63,84,24,53,123,25,98,76,34};挨个读取数组a中的每个元素,将它与前面的数最对比,如果比前面的小就将前面的数向后移,当移动停止时,将该数填充到空出的位置。
第一次:222前面没有数不做变化。
第二次:44小于222,将222后移一位变成了{x,222,11,63,84,24,53,123,25,98,76,34},最后将44填充到x的位置(移动222后空出的位置),数组变成了{44,22...
分类:
编程语言 时间:
2014-06-05 02:37:54
阅读次数:
292
快速排序法是对冒泡排序的一种改进,本来是要和冒泡排序写在一个文章里的,不过前两天刚开始在递归调用的时候没有完全理解,昨天晚上google了一把发现原来自己理解错了,我看的这个教材没有写清楚,今天早上调试了一把终于成功。
快速排序算法的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其...
分类:
其他好文 时间:
2014-06-02 21:03:57
阅读次数:
273
既然介绍了冒泡排序,就不得不说一下冒泡排序最为重要的一个变种——鸡尾酒排序(也称为定向冒泡排序)。此算法与冒泡排序的不同之处在于鸡尾酒排序是双向进行的,而冒泡排序则是单向进行的。
关于两种排序的效率方面,鸡尾酒排序在某些情况下比冒泡排序稍微好那么一点点。不过,在大部分乱序的情况下,鸡尾酒排序与冒泡排序的效率都很差劲。...
分类:
其他好文 时间:
2014-05-31 18:00:18
阅读次数:
301
数组循环输入,打印的时候为数组名加下标,调用函数,数组为参数的时候只有数组名,且传递的是数组的地址,不是值。冒泡排序int
i,j;int a[5];int med;for(i=0;i<5;i++){ for(j=i+1;j<5;j++){ if(a[i]<a...
分类:
其他好文 时间:
2014-05-31 04:11:37
阅读次数:
234
排序的严格定义:假设含有n个记录的序列为{r1,r2,......,rn},对应的关键字分别为{k1,k2......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关键字满足Kp1希尔排序),选择排序类(简单选择排序—>堆排序),交换排序类(冒泡排序—>...
分类:
其他好文 时间:
2014-05-30 17:43:33
阅读次数:
278
冒泡排序,每次循环选出一个最大/最小的数在队伍的末端,循环n-1次 1 # include 2
3 int main (void) 4 { 5 int a[10]; 6 int i, j, t; 7 8 printf("请输入10个整数:"); 9 10
...
分类:
编程语言 时间:
2014-05-30 03:10:52
阅读次数:
336
在学了冒泡排序后,会发觉这种算法就是不断比较交换。虽简单直接,显然给人一种繁琐的感觉。那有没有更好一点的算法呢?这当然有啦,没有就糟糕透了
:-P这篇文章介绍一种较冒泡要好的排序算法:简单选择排序看到“选择”这两字估计也猜到一二了。没错,这种算法的思想就是:待找到了最适合的那位数的位置我才选择与它进...
分类:
其他好文 时间:
2014-05-28 11:18:25
阅读次数:
225