序言
排序,顾名思义就是排列使得有序呗!!!通常意义上,我们所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。
排序算法大体可分为两种:
一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等;
另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。
冒泡排序(BubbleSort)
何为冒泡?看下下面这条鱼吐泡泡的样子,泡泡会从底端逐渐的浮上水面,由于水压的原因,会逐渐的变大,然后炸裂,这个算法的名字就是这么形象的理解的。冒泡排序名字的由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。</