Pagini recente » Cod sursa (job #1371695) | Cod sursa (job #2824162) | Cod sursa (job #1934181) | Cod sursa (job #192814) | Cod sursa (job #978894)
Cod sursa(job #978894)
#include <fstream>
#define DIM 500010
using namespace std;
int v[DIM];
int n, c, p, aux, i, m;
int main() {
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin>>n;
for (i = 1;i<=n;i++) {
fin>>v[i];
c = i;
p = i/2;
while (p!=0 && v[c]>v[p]) {
aux = v[c];
v[c] = v[p];
v[p] = aux;
c = p;
p = p/2;
}
}
for (i=1,m=n;i<=n;i++) {
aux = v[m];
v[m] = v[1];
v[1] = aux;
m--;
p = 1;
c = 2*p;
while (c <= m) {
if (c+1 <= m && v[c+1] > v[c])
c++;
if (v[p] < v[c]) {
aux = v[p];
v[p] = v[c];
v[c] = aux;
}
p = c;
c = c*2;
}
}
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}