1、插入排序 从前向后依次记录x(>0)位置的元素,x 依次和前面的元素进行比较,大于x的元素后移一位,小于等于x时在其后插入x元素 打印信息: ...
分类:
编程语言 时间:
2017-06-19 15:55:15
阅读次数:
132
的关系: 1、直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 (3)用java实现 2、希尔排序(最小增量排序) 3.简单选择排序 ...
分类:
编程语言 时间:
2017-06-08 11:58:55
阅读次数:
180
一、排序名称 内部排序:指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列。其中快速排序的是目前排序方法中被认为是最好的方法。 1、插入排序:直接插入排序、(shell)希尔排序 2、交换排序:冒泡排序、快速排序 3、选择排序:简单选择排序、堆排序 4、归并排序 5、基数排序 外部排序 ...
分类:
编程语言 时间:
2017-05-29 12:49:32
阅读次数:
210
驱动程序: public class Main { public static void main(String[] args) { int[] array={2,0,3,4,1,9,6,8,7,5}; print(Sort.bubbleSort(array, true));//冒泡 print(S ...
分类:
编程语言 时间:
2017-05-28 23:12:33
阅读次数:
347
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基 ...
分类:
编程语言 时间:
2017-05-08 12:25:35
阅读次数:
281
1.直接插入排序: 如何写成代码: 首先设定插入次数,即循环次数,for(int i=1;i<length;i++),1个数的那次不用插入。 设定插入数和得到已经排好序列的最后一个数的位数。insertNum和j=i-1。 从最后一个数开始向前循环,如果插入数小于当前数,就将当前数向后移动一位。 将 ...
分类:
编程语言 时间:
2017-04-14 16:13:22
阅读次数:
268
有时间再贴算法分析图 JDK7的Collections.sort()的算法是TimSort, 适应性的归并排序, 比较晦涩难懂, 这里没有实现 ...
分类:
编程语言 时间:
2017-04-09 18:46:47
阅读次数:
252
1:插入排序 - 直接插入排序 基本思想: 将一个数字插入到已排好序的有序表当中,从而得到一个新的更大的有序表, 即将序列的第一个记录看成是一个有序的子序列, 然后将从第二个记录插入, 直至整个序列都有序为止. 如果发现一个和插入元素相等的,我们既可以将元素按照原来的顺序摆放得到稳定排序, 也可以改 ...
分类:
编程语言 时间:
2017-03-09 10:40:03
阅读次数:
165
说明:转载于http://www.cnblogs.com/qqzy168/archive/2013/08/03/3219201.html 分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(基数排序) ...
分类:
编程语言 时间:
2017-02-06 13:19:28
阅读次数:
281
基本结构: 一、冒泡排序: 二、选择排序: 三、插入排序: 四、希尔排序: 五、堆排序: 注:使用堆排序的时候,待排序的数组的长度要比要排序的数据的个数大1,因为在堆排序中数组的第0个位置没作用,不能用来存数据。 六、归并排序: 七、快速排序: 八、基数排序: ...
分类:
编程语言 时间:
2017-01-05 22:31:39
阅读次数:
260