Pagini recente » Cod sursa (job #3151160) | Cod sursa (job #187277) | Cod sursa (job #3121822) | Cod sursa (job #1020803)
# include <fstream>
# define dim 500000
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[dim],N;
int v1[dim],k[dim];
void swap1( int &x , int &y )
{
int aux;
aux = x;
x = y;
y = aux;
}
void algsort()
{
// cocktail sort - o alta varianta
int i,right,left,k;
right = N-2;
left = 1;
do
{
// dreapta-stanga
for( i = right ; i >= left ; --i )
if( v[i-1] > v[i] )
{
swap1(v[i-1],v[i]);
k = i;
}
left = k+1;
// stanga-dreapta
for( i = left ; i <= right ; ++i )
if( v[i-1] > v[i] )
{
swap1(v[i-1],v[i]);
k = i;
}
right = k-1;
}while( left > right );
}
int main(){
int i;
fin >> N;
for( i = 0 ; i < N ; ++i )
fin >> v[i];
algsort();
for( i = 0 ; i < N ; ++i )
fout << v1[i] << ' ';
fin.close();
fout.close();
return 0;
}