动态创建堆,手动输入堆值

在学习数据结构的过程中,发现很多网上的代码都是内部规定好了的堆的值。所以很想问问,能不能动态创建堆呢?把堆值,手动一个一个放进去,然后再排序、插入、删除。

是的,可以动态创建堆,比如通过插入元素进行构建。插入元素后,你需要保证堆的性质,比如最大堆的父节点的关键字必须大于等于它的子节点的关键字,这可以通过堆化操作来实现。排序算法中,堆排序可以使用最大堆或者最小堆实现,具体实现方法可以参考一些堆排序的教程。

网上考你的,都是在一个已经建立好的堆上,增加或者删除一个值,然后堆重新排序
同样的代码,在初始堆是空的情况下依然是成立的,无非就是反复调用这段代码,每次输入一个值都要重新排序