快速选择排序
快排的简单回顾
这是一种基于快速排序的应用算法,我们先来回顾一下快速排序快速排序模板
快排有三个步骤
0、选择一个支点;
1、根据指点将整个数组划分为两部分,第一部分为小于等于支点x的数,另一部分为大于等于支点x的数;
2、递归调用函数,对左右两边进行排序;
快速选择算法
快速选择算法是基于快排的,快排第三步是对左右两个区间同时进行递归,而快速选择算法可以根据要查找的数据对区间进行一种缩小;
#include<iostream>
using namespace std;
const int N = 1e6 + 10;
int n,q[N];
int quick_sort(int q[],int l,int r,int k)
{