C++:快速排序实例
简介
快速排序被认为是用于排序的最佳实用选择,主要原因是其平均运行性能较好:最坏情况下运行时间为 θ ( n 2 ) \theta(n^2) θ(n2),期望的运行时间 θ ( n l g n ) \theta(nlgn) θ(nlgn),且隐含的常数因子很小。除此之外他还能够进行就地排序,占用内存空间极少。
详解
与合并排序一样,快速排序也是一种分治模式算法。
其一种实现原理如下:
在每一个迭代的开始,选定最后一个元素为主元(pivot element)记为 k e y key key,循环变量 i , j i,j i,j分别初始化为 b e g i n − 1 begin-1 begin−1和 b e g i n begin begin
比较 j j j指向的值与