#A1319. 堆排序

堆排序

题目背景

堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。


题目描述

输入一个数组的长度n和所有元素,将数组按从小到大的顺序排序。

注:本题为模板题,仅作为教学使用。


输入格式

第一行一个整数n(1≤n≤10^6);

第二行是n个不大于10^6的正整数。

输出格式

n个用空格分隔的整数,为排序后的数组。


输入/输出样例

10
2 7 9 1 6 3 4 1 5 8
1 1 2 3 4 5 6 7 8 9

说明/提示

时间1000ms,内存256MiB