稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。 不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。 冒泡 选择 选择排序的思想是将序列分为有序和无序两个部分,不断从无序序列中选择最小的增加到有序序列中,这样,序列就从小到大排列整齐。 插入排序 插入排序原理是将当前元素与前面的元素比 ...
分类:
编程语言 时间:
2019-07-27 15:41:20
阅读次数:
127
#include #include #include int main(){ int a[15]; //设立随机数 srand(time(0)); for(int i=0;ia[i+l]){ //先把当前位置的值和x交换 swap(a+i,a+i+l); ... ...
分类:
编程语言 时间:
2019-07-22 00:11:31
阅读次数:
123
public class QuickDemo { public static void main(String[] args) { int[] arr = {5, 2, 4, 9, 7, 564, 123, 643, 8, 64, 8, 75, 6, 7968, 4648, 46};// sort( ...
分类:
编程语言 时间:
2019-06-24 16:36:15
阅读次数:
109
package ShellSort; import chooseSort.Example; /** * 希尔排序 * 思想:插入排序的变步长扩展版。以h..1为步长,将数组分为若干组,然后进行插入排序 * 解决了插入排序交换次数过多的问题。 */ public class ShellSort ext... ...
分类:
编程语言 时间:
2019-06-20 15:48:32
阅读次数:
116
package MergeSort; import ShellSort.ShellSort; import chooseSort.Example; /** * 归并排序 * 归并的含义:将两个有序的数组合并成一个有序数组 * 思想:通过递归的方法,将数组不断地分割,直到数组里只有一个元素时返回。 *... ...
分类:
编程语言 时间:
2019-06-20 15:39:27
阅读次数:
135
一.几种排序思想 1.交换排序:冒泡排序与快速排序 冒泡排序: 思想:比较相邻元素,违反排序顺序则交换,每次冒出一个最大值,直到所有相对的最大值冒出,完成排序。 最基本的排序,不必多说。 复杂度:最坏:O(n*n);最好:O(n);O(n*n)。 快速排序: 思想: 通过一趟排序将要排序的数据分割成 ...
分类:
编程语言 时间:
2019-04-05 00:45:33
阅读次数:
211
ShellSort He made each turtle stand on another one's back And he piled them all up in a nine-turtle stack. And then Yertle climbed up. He sat down on ...
分类:
系统相关 时间:
2019-03-30 10:37:28
阅读次数:
135
算法名称 归类 英文名 时间复杂度 优点 缺点 和别的算法的比较 我常用的 直接插入排序 插入排序的一种 StraightInsectionSort 稳定 A 希尔排序 插入排序的一种 ShellSort 平均效率是O(nlogn) 适合于数据量在5000以下 不稳定 (即相等的数,在排序后相对位置 ...
分类:
编程语言 时间:
2019-01-28 10:52:37
阅读次数:
208
动图演示参考:https://www.cnblogs.com/onepixel/articles/7674659.html 基数排序参考:https://blog.csdn.net/double_happiness/article/details/72452243 1、常见的排序算法 2、算法分析 ...
分类:
编程语言 时间:
2019-01-11 17:19:15
阅读次数:
196
1. 冒泡排序 2. 选择排序 3. 插入排序 4 希尔排序 5. 快速排序 6 归并排序 7. 二分查找 ...
分类:
编程语言 时间:
2019-01-04 21:29:51
阅读次数:
177