Pagini recente » Cod sursa (job #2904217) | Cod sursa (job #484725) | Cod sursa (job #29596) | Cod sursa (job #2912054) | Cod sursa (job #288944)
Cod sursa(job #288944)
#include<fstream>
#define limit 500000
using namespace std;
int array[limit];
void swap (int *a, int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
}
void cocktailSort(int n)
{
bool swapped;
do {
swapped=false;
for (int i=0;i<n-1;i++) {
if (array[i]>array[i+1]) {
swap(&array[i], &array[i+1]);
swapped=true;
}
}
if (!swapped) break;
swapped=false;
for (int i=n-2;i>=0;i--) {
if (array[i]>array[i+1]) {
swap(&array[i], &array[i+1]);
swapped=true;
}
}
} while (swapped);
}
int main()
{
int n;
ifstream in ("algsort.in");
in>>n;
for (int i=0;i<n;i++)
in>>array[i];
in.close();
cocktailSort(n);
ofstream out ("algsort.out");
for (int i=0;i<n;i++)
out<<array[i]<<" ";
out.close();
return 0;
}