本文最后更新于 149 天前,其中的信息可能已经有所发展或是发生改变。
板子
void quick_sort(int l, int r)
{
if (l >= r) return ;
int x = a[l+r>>1], i = l-1, j = r+1;
while (i < j)
{
while (a[++ i] < x);
while (a[-- j] > x);
if (i < j) swap(a[i], a[j]);
}
quick_sort(l, j), quick_sort(j+1, r);
}
用板子
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[10]={3,5,7,1,3,0,19,-1,98,-99};
void quick_sort(int l,int r){
if(l>=r)return;
int x=a[l+r>>1],i=l-1,j=r+1;
while(i<j){
while(a[++i]<x);
while(a[--j]>x);
if(i<j)swap(a[i],a[j]);
}
quick_sort(l,i),quick_sort(i+1,r);
}
int main(){
int n;
cin>>n;
quick_sort(0,9);
for(int i=0;i<10;i++)cout<<a[i]<<" ";
cout<<endl;
return 0;
}
用sort()
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[10]={3,5,7,1,3,0,19,-1,98,-99};
int main(){
int n;
cin>>n;
sort(a,a+10);
for(int i=0;i<10;i++)cout<<a[i]<<" ";
cout<<endl;
return 0;
}
两种耗时都差不多