Pagini recente » Cod sursa (job #1301951) | Cod sursa (job #301855) | Cod sursa (job #1796971) | Cod sursa (job #2556004) | Cod sursa (job #3253818)
#include <iostream>
#include <fstream>
using namespace std;
int v[500000];
int poz(int a, int b){
int di=0, dj=-1;
int i=a, j=b;
int aux;
while(i<j){
if (v[i] > v[j]) {
swap(v[i], v[j]);
swap(di, dj);
di*=-1; dj*=-1;
}
i+=di;
j+=dj;
}
return i;
}
void quicksort(int a, int b){
if(a<b){
int p=poz(a, b);
quicksort(a, p-1);
quicksort(p+1, b);
}
}
int main(){
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n; fin>>n;
for(int i=0; i<n; i++){
fin>>v[i];
}
quicksort(0, n-1);
for(int i=0; i<n; i++){
fout<<v[i]<<" ";
}
return 0;
}