Pagini recente » Cod sursa (job #3295301) | Cod sursa (job #1135510) | Cod sursa (job #2811867) | Cod sursa (job #1885861) | Cod sursa (job #1020691)
# include <fstream>
# define dim 500000
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[dim],N;
void swap1( int &x , int &y )
{
int aux;
aux = x;
x = y;
y = aux;
}
void algsort()
{
// cocktail sort
int i;
bool swapped;
do
{
// stanga-dreapta
swapped = false;
for( i = 0 ; i <= N-2 ; ++i )
if( v[i] > v[i+1] )
{
swap1(v[i],v[i+1]);
swapped = true;
}
if( !swapped ) break;
//dreapta-stanga
swapped = false;
for( i = N-2 ; i >= 0 ; --i )
if( v[i] > v[i+1] )
{
swap1(v[i],v[i+1]);
swapped = true;
}
}while( swapped );
}
int main(){
int i;
fin >> N;
for( i = 0 ; i < N ; ++i )
fin >> v[i];
algsort();
for( i = 0 ; i < N ; ++i )
fout << v[i] << ' ';
fin.close();
fout.close();
return 0;
}