堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种,可以利用数组的特点快速定位指定索引的元素。
选择排序的工作原理,第一次从待排序的数据元素中选出最小或最大的一个元素,存放在序列的起始位置,然后再从剩余的排序元素中寻找最小或最大元素,然后放到已排序的序列末尾,以此类推,直到全部待排序的数据元素的个数为零。
栈:类似于死胡同,只能从胡同口出
后进先出,栈也是一种线性表,只不过它是操作受限的线性表,只能在一端进行操作,进出的一端称为栈顶(top),另一端称为栈底(base),栈可以用顺序存储,也可以用链表存储。
注意:栈只能在一端操作,后进先出,这是栈的关键特性。也就是说不允许在中间查找,取值,插入,删除等操作。我们掌握好顺序栈的初始化,入栈、出栈、取栈顶元素等操作即可!