Pagini recente » Cod sursa (job #2687808) | Cod sursa (job #794790) | Cod sursa (job #2981132) | Cod sursa (job #2163033) | Cod sursa (job #377684)
Cod sursa(job #377684)
#include <fstream>
using namespace std;
const char InFile[]="algsort.in";
const char OutFile[]="algsort.out";
const long int MaxN=500010;
long int N, v[MaxN];
long int partition(long int i, long int j){
bool mod=true;
while(i<j){
if(v[i]>v[j]){
long int aux=v[i];
v[i]=v[j];
v[j]=aux;
mod=!mod;
}
if(mod){
--j;
}else{
++i;
}
}
return i;
}
void qsort(long int start,long int end){
if(start<end){
long int pivot=partition(start,end);
qsort(start,pivot-1);
qsort(pivot+1,end);
}
}
int main(){
ifstream fin(InFile);
fin>>N;
for(register int i=1;i<=N;++i){
fin>>v[i];
}
fin.close();
//qsort(1,N);
long int i=1,aux;
while(i<N){
if(v[i]>v[i+1]){
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
--i;
}else{
++i;
}
if(i<1){i=1;}
}
ofstream fout(OutFile);
for(register int i=1;i<=N;++i){
fout<<v[i]<<" ";
}
fout.close();
return 0;
}