Pagini recente » Cod sursa (job #62976) | Cod sursa (job #1510730) | Cod sursa (job #1160429) | Cod sursa (job #3223729) | Cod sursa (job #1020699)
# 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()
{
// O sortare ciudata ( odd-even // brick-sort )
bool sortat = false;
int i;
while( !sortat )
{
sortat = true;
// elementele cu rangul impar
for( i = 1 ; i < N-1 ; i+=2 )
if( v[i] > v[i+1] )
{
swap1(v[i],v[i+1]);
sortat = false;
}
// elementele cu rangul par
for( i = 0 ; i < N-1 ; i+=2 )
if( v[i] > v[i+1] )
{
swap1(v[i],v[i+1]);
sortat = false;
}
}
}
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;
}