Pagini recente » Cod sursa (job #2889943) | Cod sursa (job #2445903) | Borderou de evaluare (job #2051241) | Cod sursa (job #1903125) | Cod sursa (job #3244031)
#include <fstream>
using namespace std;
int h[500002];
int n;
int program2(int st, int dr){
int aladelafinal=h[dr];
int mic=st-1;
for(int i=st; i<=dr; i++){
if(h[i]<aladelafinal){
mic++;
swap(h[mic], h[i]);
}
}
mic++;
swap(h[mic], h[dr]);
return mic;
}
void program (int st, int dr){
if(st<dr){
int aladelafinal=program2(st, dr);
program(st, aladelafinal - 1);
program(aladelafinal + 1, dr);
}
}
int main(){
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin>>n;
for(int i=1;i<=n;i++)
fin>>h[i];
program(1, n);
for(int i=1;i<=n;i++)
fout<<h[i]<<" ";
return 0;
}