一、定义:
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法(也叫Hoare排序),是一种基于分治的排序方。其基本原理是将待排序的数组通过一趟排序分成两个独立的部分,其中一部分的所有数据比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列(非递归也是可行的,需要借助数据结构栈来实现)
二、递归思想:
排序只讲升序,升序和降序也就是大于和小于逻辑上的差别
Hoare法:
1、设置一个keyi记录头位置的数据,然后设计2个指分别为针end和begin; 一个从右边出发,一个从左边出发
2、end所指向的数据若是小于keyi则停下,然后begin走,所指向的数据若是大于keyi则停下,
3、将end和begin指向的元素进行互换
4、继续让end走,然后begin走,重复2-3,直到2者相遇,若是相遇,则将其与keyi指向的元素进交换,完成一次✨
标签:begin,right,end,int,keyi,算法,排序,快速,left From: https://blog.csdn.net/SWsunlight/article/details/139438587