Pagini recente » Cod sursa (job #1270810) | Cod sursa (job #2553307) | Cod sursa (job #649298)
Cod sursa(job #649298)
#include <fstream>
#include <ctime>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
const int N=500001;
int v[N],n,pozstart;
void Quick(int st,int dr){
int i=st+1,j=dr,val,pivot;
if(st==dr)
return;
pivot=rand()%(dr-st) + st;
val=v[pivot];
swap(v[pivot],v[st]);
while(i<=j){
while(v[i]<val)
i++;
while(v[j]>val)
j--;
if(i<j){
swap(v[i],v[j]);
i++;
j--;
}
}
swap(v[st],v[j]);
Quick(st,j-1);
Quick(j+1,dr);
}
int main(){
srand(time(NULL));
int i;
in>>n;
for(i=1;i<=n;++i){
in>>v[i];
}
Quick(1,n);
for(i=1;i<=n;i++){
out<<v[i]<<" ";
}
return 0;
}