Cod sursa(job #2918039)

Utilizator andrei_C1Andrei Chertes andrei_C1 Data 9 august 2022 14:27:56
Problema Sortare prin comparare Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

const int NMAX = 5e5;

int n;
int v[NMAX + 1];

void funnyStockySort() {
	bool changes = 1;

	while(changes) {
		changes = 0;
		for(int step = n - 1; step > 0; step >>= 1) {
			for(int i = 1; i + step <= n; i++) {
				if(v[i] > v[i + step]) {
					changes = 1;
					swap(v[i], v[i + step]);
				}
			}
		}
	}
}

int main() {
	fin >> n;

	for(int i = 1; i <= n; i++) {
		fin >> v[i];
	}

	funnyStockySort();

	for(int i = 1; i <= n; i++) {
		fout << v[i] << " ";
	}
	return 0;
}