Pagini recente » Cod sursa (job #2564484) | Cod sursa (job #1582680) | Cod sursa (job #2400069) | Cod sursa (job #1852196) | Cod sursa (job #1435115)
#include <fstream>
using namespace std;
int v[500005];
void quicksort(int a[], int st, int dr);
int main() {
int i,N;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>N;
for(i=0;i<N;i++){
f>>v[i];
}
quicksort(v, 0, N-1);
for(i=0;i<N;i++){
g<<v[i]<<" ";
}
return 0;
}
void quicksort(int a[], int st, int dr){
int aux,mini,maxi,mij;
mini = st;
maxi = dr;
mij = a[(st+dr)/2];
do{
while(a[mini]<mij){
mini++;
}
while(mij<a[maxi]){
maxi--;
}
if(mini<=maxi){
aux = a[mini];
a[mini++] = a[maxi];
a[maxi--] = aux;
}
}while(mini<=maxi);
if(st<maxi){
quicksort(a, st, maxi);
}
if(mini<dr){
quicksort(a, mini, dr);
}
}