#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
//直接插入排序
void InsertSort(int a[],int n) {
int i,j,temp;
for(i=1; i<n; i++) {
if(a[i]<a[i-1]) {
temp=a[i];
for(j=i-1; a[j]>temp&&j>=0; j--) {
a[j+1]=a[j];
}
a[j+1]=temp;
}
}
}
void swap1(int &a,int &b) {
int temp;
temp=a;
a=b;
b=temp;
}
//冒泡排序
void BubbleSort(int a[],int n) {
for(int i=0; i<n-1; i++) {
bool flag=false;
for(int j=n-1; j>i; j--) {
if(a[j-1]>a[j]) {
swap1(a[j-1],a[j]);
flag=true;
}
}
if(flag==false) {
return;
}
}
}
int Partition(int a[],int low,int high) {
int flag=a[low];
while(low<high) {
while(low<high&&a[high]>=flag) high--;
a[low]=a[high];
while(low<high&&a[low]<=a[flag]) low++;
a[high]=a[low];
}
a[low]=flag;
return low;
}
//快速排序
void QuickSort(int a[],int low,int high) {
if(low<high) {
int pivot=Partition(a,low,high);
QuickSort(a,low,pivot-1);
QuickSort(a,pivot+1,high);
}
}
//选择排序
void SelectSort(int a[],int n) {
for(int i=0; i<n; i++) {
int min=i;
for(int j=i+1;j<n;j++){
if(a[j]<a[min]){
min=j;
}
}
swapNum(a[i],a[min]);
}
}
int main() {
int a[]= {3,1,8,6,4,10};
QuickSort(a,0,5);
for(int i=0; i<=5; i++) {
printf("%d ",a[i]);
}
}