#include <bits/stdc++.h> using namespace std; //利用快速排序的思路,每次都有选择的在左边或右边递归。 //[,] // int a[6]={1,2,2,3,5,5}; int a[6]={2,1,2,5,3,5}; int nth(int n,int x,int y){ int i=x,j=y; while(i<j){ while(i<j&&a[j]>=a[i]) j--; if(i<j) swap(a[i],a[j]); while(i<j&&a[i]<=a[j]) i++; if(i<j) swap(a[i],a[j]); } if(i+1==n) return a[i]; else if(i+1<n) return nth(n,i+1,y); else return nth(n,x,i-1); } int main() { cout<<nth(1,0,5)<<nth(2,0,5)<<nth(3,0,5)<<nth(4,0,5)<<nth(5,0,5)<<nth(6,0,5)<<endl; return 0; }