运行出来是12543678
不知道哪里出了问题,有无大佬教教ovo
#include <iostream>
using namespace std;
void swap(int arr[],int i,int j)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
int partition(int arr[],int left,int right)
{
int i = left;
int j = right + 1;
int p = arr[0];
while(true)
{
while(p<arr[--j])
{
if(j == left) break;
}
while(p>arr[++i])
{
if(i == right) break;
}
if(i >= j) break;
else
{
swap(arr,i,j);
}
}
swap(arr,left,j);
return j;
}
void quickSort(int arr[],int left,int right)
{
if(left>=right) return;
int t = partition(arr,left,right);
quickSort(arr,left,t-1);
quickSort(arr,t+1,right);
}
int main()
{
int arr[] = {6,5,8,4,3,7,2,1};
quickSort(arr,0,sizeof(arr)/sizeof(arr[0])-1);
for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
{
cout<<arr[i];
}
return 0;
}