本篇博客是为了熟悉冒泡选择插入希尔归并快速基数排序这几种排序算法而写的,基本上是看了书上代码,然后自己手敲理解一遍。 ...
分类:
编程语言 时间:
2019-10-30 00:08:44
阅读次数:
103
稳定 冒泡排序 冒泡排序是不断比较相邻两个元素,并不断交换,最后把大的放到数组后面。第一趟遍历会把最大的元素放到(n-1)位置,第二趟遍历会把第二大的元素放到(n-2)的位置,以此类推。 最好的情况是当数组有序,跑一次内存循环(时间复杂度为O(N))后,因为isSorted为true,外层循环直接退 ...
分类:
编程语言 时间:
2019-10-29 23:43:23
阅读次数:
95
//希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本.但希尔排序是非稳定排序算法. 希尔排序是基于插入排序的以下两点性质而提出改进方法的 : 1. 插入排序在对几乎已经排好序的数据操作时,效率高,既可以达到线性排序的效率 2. 但插入排序一般来说是低效的,因为插入排序每次只能将数据移... ...
分类:
编程语言 时间:
2019-10-26 13:38:52
阅读次数:
83
Contents 定义排序前后两个相等的数相对位置不变,则稳定稳定性的好处从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用各排序算法的稳定性堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算... ...
分类:
编程语言 时间:
2019-10-21 11:29:26
阅读次数:
87
算法思想:计数排序,建立一个辅助数组,遍历数组a,有一个数就把辅助数组相应位置元素+1,最后遍历一遍数组,找到出现最多的主元素 代码: ...
分类:
编程语言 时间:
2019-10-20 16:23:05
阅读次数:
98
冒泡排序、选择排序、快速排序、插入排序、希尔排序、归并排序、基数排序、堆排序。 推荐网址1:https://www.cnblogs.com/onepixel/articles/7674659.html 推荐网址2(C++):https://blog.csdn.net/opooc/article/de ...
分类:
编程语言 时间:
2019-10-15 19:11:43
阅读次数:
84
虽然是简单题,但是花费了自己不少时间!! 1、想用计数排序,结果还写错了,真的难受!!,最后还是用的vector的自动排序指令,sort,刚开始自己忘了!! 2、思路 排序:排序的是遍历的前提 从最右边的数遍历,三个连续的,最小的加第二小大于最大的就返回值,否则,最右边的数向左边移一位,不要再犯程序 ...
分类:
其他好文 时间:
2019-10-14 19:55:19
阅读次数:
101
先来看看8种排序之间的关系: 一、直接插入排序 代码如下 二、希尔排序 第三、简单选择排序 第四、堆排序 第五、冒泡排序 第六、快排 第七、归并排序 第八、基数排序 参考:https://blog.csdn.net/jiangwei0910410003/article/details/3826178 ...
分类:
编程语言 时间:
2019-10-10 19:51:26
阅读次数:
102
参考文章:https://mp.weixin.qq.com/s/VjqZNPg6dAEReAzqZcb_yw 原文链接:www.jianshu.com/p/5e171281a387 ...
分类:
编程语言 时间:
2019-10-09 12:49:01
阅读次数:
70
本文将基于C语言,依次介绍八大排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序,并对其性能作对比。 ...
分类:
编程语言 时间:
2019-10-07 17:22:03
阅读次数:
108