Cod sursa(job #2279371)
Utilizator | Nastasa Stefan-Alexandru RedPipper | Data | 9 noiembrie 2018 15:08:01 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
using namespace std;
int v[5001] , piv, n;
void quicksort(int v[],int left,int right){
int i=left,j=right;
int k;
int p=v[(i+j)/2];
//!partitie
while(i<=j){
while(v[i]<p)i++;
while(v[j]>p)j--;
if(i<=j){
int aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
//!recursivitate
if(left<j)quicksort(v,left,j);
if(right>i)quicksort(v,i,right);
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>v[i];
quicksort(v,1,n);
for(int i=1;i<=n;i++)cout<<v[i]<<' ';
return 0;
}