首先我们来了解以下各排序算法的效率
以元素比较作基本运算
接下来以次介绍各排序算法的原理
1、插入算法
前面的数字已经拍好,现在插入数字2
2比7小,2与7交换位置
2比6小,2与6交换位置
2比5小,2与5交换位置
2比3小,2与3交换位置
2比1大,2排在1后面
因此得到此插入排序的运行实例为
2、冒泡排序
从前到后相邻两个数的比较,如果前面比后面大,那么就交换位置
冒泡排序的一次巡回
5比1大,5和1交换位置
5比6小,5和6位置不变
6比2大,6和2交换位置
6比8小,6和8位置不变
8比3和4和7都大,8排到最后
以此得到5次巡回的结果
3、快速排序
以元素为标准,从前往后找第一个比首元素大的是8,从后往前找第一个比首元素小的是4,
那么8和4交换位置
接着找4后面第一个比5大的是6,8前面第一个比5小的是2
交换6和2的位置
因此在2前面的都是比5小的,2后面都是比5大的
5和2交换位置,那么5前面都是比5大的,5后面都是比5小的
4.二分归并排序
将整个数组划分为两个部分,分别进行递归排序,排序完毕之后再将两部分进行整合
两部分从第一个元素以此比较,小的就拿走
如:1比2小,1拿走
2比3小,2拿走,排在1后
3比4小,3拿走,排在2后
4比5小,4拿走排在5后,依次到8,是一个空元组,直接接在后面。