第九章 排序
直接插入排序
确定插入的位置
将第一个数a看作有序列
比较第二个数b与有序序列中的最后一个数a的大小
a<b ->将b放到a之后
a>b->将b放到监视哨的位置->将a往后挪一位->比较a之前的数与b的大小:凡是比b大的数均往后移动一位->直到比较完所有的数,剩下的空位置即b元素要插入的位置。
将要排序的元素放入到已经确定的位置即可
性能分析:
折半插入排序
确定插入位置:与折半查找相同,将第一个数看成是有序序列、附设high、low、mid用mid找到要插入的位置,将mid后的全部的元素往后挪一位(需要监视哨)
将要排序的元素放入已经确定的位置即可
性能分析
冒泡排序
快速排序
一趟快速排序的具体做法是:对r[s……t]中记录进行一趟快速排序,附设两个指针low和high,它们的初值分别为low和high,设枢轴记录的关键字为Pivotkey
首先从high所指位置起向前搜索找到第一个关键字小于Pivotkey的记录和枢轴记录相互交换
然后从low所指位置起向后搜索找到第一个关键字大于Pivotkey的记录和枢轴记录相互交换做,重复这两步直至low=high。
简单选择排序
第九章 排序
最新推荐文章于 2024-07-19 15:16:23 发布