![](https://img-blog.csdnimg.cn/20190911160204410.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
排序
星空是梦想
广州程序员一枚~
展开
-
快速排序
原理:快速排序,说白了就是给基准数据找其正确索引位置的过程.如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18<=tmp),就将high...原创 2019-11-05 22:44:05 · 181 阅读 · 0 评论 -
直接插入排序及优化(二分查找插入排序)
参考博文:数据结构图文解析之:直接插入排序及其优化 (二分插入排序)解析及C++实现示例代码Github地址:https://github.com/Abel-LiuJinQuan/Sort原创 2019-04-09 09:54:25 · 271 阅读 · 0 评论 -
希尔排序详解
八大排序算法中,有两种插入排序,直接插入排序和希尔排序,下面我们来介绍希尔排序。希尔排序希尔排序又叫做缩小增量排序。1、基本思想设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所有距离为increment的元素放在同一个子序列中,在每一个子序列中分别实行直接插入排序。然后缩小间隔increment,重复上述子序列划分和...原创 2019-04-11 07:21:01 · 4705 阅读 · 2 评论 -
冒泡排序及其三种优化方案
一、传统的冒泡排序:图解:代码示例:/*** 传统冒泡排序* @author Abel*/int[] a={3,2,5,8,4,7,6,9};for(int i=0; i<8; i++) { for(int j=0; j<=6-i; j++) { if(a[j]>a[j+1]) { ...原创 2019-03-28 23:23:16 · 1657 阅读 · 4 评论 -
简单选择排序及其优化
简单选择排序,对n个记录进行扫描,选择最小的记录,将其放在第一个位置,接着在剩下的n-1个记录中扫描,选择最小的记录将其放到第二个位置,不断重复这个过程,知道剩下最后一个记录为止。示例代码://简单选择排序方法public static void selectSort(int[] array, int length) { int i,j,min,temp; for (i=0; i&l...原创 2019-04-15 22:42:27 · 921 阅读 · 2 评论