第一篇 快速排序

发布时间:2024年01月19日

快速排序是程序员经常接触的一种排序, 属于交换排序, 快速排序是对冒泡排序的一种改进。

快速排序的核心思想是: 先分成二部分, 使左边的小于基准, 右边的大于基准,基准位于最终排序的位置i上。

一? 简介

在快速排序中,记录关键字的比较和记录的交换是从两端向中间进行的, 待排序关键字较大的记录一次就能够交换到后面单元中,而关键字较小的记录一次就能够交换到前面单元中, 记录每次移动的距离较远, 因此总的比较和移动次数较小,速度较快, 故称为 “快速排序” 。

正因如此,?

因为存在着不相邻记录之间的交换,? 此排序是不稳定的。

这句话必须牢牢记住!!! 这是回答某种排序不稳定的关键原因

二 具体操作

一趟快速排序的具体操作是: 设两个指针 i 和 j, 它们的初值分别为 low 和 high,基准记录 x = R[i],? 首先从 j 所指位置起向前搜索找到第一个关键字小于基准 x.key 的记录存入当前 i 所指向的位置上,i自增1, 然后再从 i 所位置起向后搜索, 找到第一个关键字大于 x.key的记录存入当前 j所指向的位置上, j自减1;? ?重复这两步,直至 i 等于 j为止。?

文章来源:https://blog.csdn.net/ximanni18/article/details/135698292
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。