Pagini recente » Cod sursa (job #1608000) | Cod sursa (job #3228530) | Cod sursa (job #2295406) | Cod sursa (job #1656419) | Cod sursa (job #2803561)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void quicksort(int high, int low, int sir[]);
void swap_eu(int a, int b, int *v);
int main(){
int n, i;
fin>>n;
int sir[n];
for(i = 0; i < n; i++)
fin>>sir[i];
quicksort(n - 1, 0, sir);
for(i = 0; i < n; i++)
fout<<sir[i];
}
void quicksort(int high, int low, int sir[]){
int pilon, i, j;
pilon = sir[low];
for(i = low, j = high; i < j;){
do{
i++;
}while(pilon >= sir[i]);
do{
j--;
}while(pilon < sir[j]);
if(i < j)
swap_eu(i, j, sir);
}
swap_eu(low, j, sir);
if(high > low){
quicksort(j, low, sir);
quicksort(high, j + 1, sir);
}
}
void swap_eu(int a, int b, int *v){
int c;
c = v[a];
v[a] = v[b];
v[b] = c;
}