#include <iostream>
#include <vector>
using namespace std;
//快速排序
void quick_sort(int *unsorted,int low,int high)
{
if(low<high)
{
int i=low,j=high,tmp=unsorted[low];
while(i<j)
{
while(i<j && unsorted[j]>=tmp)
j--;
if(i<j)
unsorted[i++]=unsorted[j];
while(i<j && unsorted[i]<tmp)
i++;
if(i<j)
unsorted[j--]=unsorted[i];
}
unsorted[i]=tmp;
quick_sort(unsorted,low,i-1);
quick_sort(unsorted,i+1,high);
}
}
int main()
{
int arr[]={8,8,5,5,3,3,3,2,2,0,0,11,6,71,71,71,4,3,5,5,1,1,1};
int len=sizeof(arr)/sizeof(arr[0]);
vector<int> vec;
cout<<"筛选前:\n";
for(int i=0;i<len;i++)
cout<<arr[i]<<" ";
cout<<"\n\n";
//先对数组进行排序
quick_sort(arr,0,len-1);
for(int i=0;i<len-1;i++)
{
if(arr[i]!=arr[i+1])
vec.push_back(arr[i]);
}
vec.push_back(arr[len-1]);
cout<<"筛选后:\n";
for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
cout<<*it<<" ";
cout<<"\n\n";
return 0;
}