一、七种排序及其讲解
以下为七种排序的讲解:
【数据结构】插入排序——直接插入排序 和 希尔排序
【数据结构】选择排序——选择排序 和 堆排序
【数据结构】交换排序——冒泡排序 和 快速排序
【数据结构】归并排序 —— 递归及非递归解决归并排序
二、排序的稳定性
1、什么是排序的稳定性
在排序过程中数组中相同数的相对位置不会发生改变的排序是稳定的,反之我们说排序是不稳定的
稳定:
不稳定:
2、稳定性的意义
<1>在只进行一次排序的情况下,排序的稳定性都没什么意义
<2>在进行二次或多次排序时稳定性是有意义的
举一个例子:
在学校录取学生时,往往有很多人总成绩是相同的
那么为了为学校录取需要的人时
会再进行单科成绩的比较
当再进行数学成绩比较时,有两个还是分不出来,还要再次进行比较,但是那些原先数学成绩好的同学,不能因为剩下成绩的比较而改变他的相对位置
三、七种排序的总结
七种排序全部代码链接