Cod sursa(job #3244105)
Utilizator | Data | 23 septembrie 2024 16:44:26 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
using namespace std;
int h[500003];
int n;
void quicksort(int st, int dr){
int mij=(st+dr)/2;
int i=st, j=dr, mijloc=h[mij];
while(i<=j){
while(h[i]<mijloc)
i++;
while(h[j]>mijloc)
j--;
if(i<=j){
swap(h[i], h[j]);
i++, j--;
}
}
if(j>st)
quicksort(st, j);
if(i<dr)
quicksort(i, dr);
}
int main(){
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin>>n;
for(int i=1;i<=n;i++)
fin>>h[i];
quicksort(1, n);
for(int i=1;i<=n;i++)
fout<<h[i]<<" ";
return 0;
}