Pagini recente » Cod sursa (job #297523) | Borderou de evaluare (job #2012095) | Cod sursa (job #3271558) | Cod sursa (job #546709) | Cod sursa (job #2151100)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int a[100];
int main()
{
int n;
fin>>n;
//int a[n+1];
for(int i = 1;i<=n;++i) fin>>a[i];
int leftInd = 0, rightInd = n+1;
bool change = true;
while (change && leftInd + 1 < rightInd) {
change = false;
for (int i = leftInd + 1; i < rightInd - 1; ++i) {
if (a[i]>a[i + 1]) {
int aux = a[i];
a[i] = a[i + 1];
a[i + 1] = aux;
change = true;
}
}
--rightInd;
for (int i = rightInd - 1; i > leftInd + 1; --i) {
if (a[i]<a[i-1]) {
int aux = a[i];
a[i] = a[i - 1];
a[i - 1] = aux;
change = true;
}
}
leftInd++;
}
for(int i = 1;i<=n;++i)
fout<<a[i]<<' ';
fout.close();
return 0;
}