快速排序

#include<iostream>

using namespace std;

int partition(int arr[],int low,int high)

{

int pivot=arr[high];//选择基准

int i=low-1;

for(int j=low;j<high;j++)

{

if(arr[j]<pivot)

{

i++;

swap(arr[i],arr[j]);

}

}

swap(arr[i+1],arr[high]);

return i+1;

}

void quicksort(int arr[],int low,int high)

{

if(low<high)

{

int a=partition(arr,low,high);

quicksort(arr,low,a-1);

quicksort(arr,a+1,high);

}

}

int main()

{

int n;

cin>>n;

int arr[n];

for(int i=0;i<n;i++)

{

cin>>arr[i];

}

quicksort(arr,0,n-1);

for(int i=0;i<n;i++)

{

cout<<arr[i]<<" ";

}

}

全部评论

相关推荐

09-14 17:23
门头沟学院
故事和酒66:所以说副业很重要,程序员干到40岁,再怎么也赚300万了,吃吃利息也够活下去
点赞 评论 收藏
分享
迷茫的大四🐶:都收获五个了,兄弟那还说啥,不用改了,去玩吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务