
知识点
陈乐乐happy
一个不追求浏览量的优质创作博主
展开
-
数据结构-堆
堆什么是堆:堆是一棵完全二叉树分类:其根结点的值小于两个子结点的值,其余任何一个结点的值都小于其子结点的值——小根堆。其根结点的值大于两个子结点的值,其余任何一个结点的值都大于其子结点的值——大根堆。什么是完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。例子:一个完全二叉...原创 2019-04-17 19:54:47 · 216 阅读 · 0 评论 -
堆(heap)的操作c++
堆的操作:堆的操作函数定义在头文件 algorithm 中以下的代码中均省略了输出的代码vector<int> a{ 4,5,6,7,3,0,1 };for (int i = 0; i < a.size(); i++) { cout << a[i] << ' '; }创建堆:堆用容器vector来存放函数:make_heap()...原创 2019-04-19 12:00:23 · 903 阅读 · 0 评论 -
栈和队列的区别(含栈和队列的封装实现)
栈:栈是一种操作受限的线性表只允许从一端插入和删除数据。栈有两种存储方式,即线性存储(顺序栈)和链表存储(链栈)。栈的一个最重要的特征就是栈的插入和删除只能在栈顶进行,所以每次删除的元素都是最后进栈的元素,故栈也被称为后进先出(LIFO)表。每个栈都有一个栈顶指针,它初始值为-1,且总是指向最后一个入栈的元素,栈有两种处理方式,即进栈(push)和出栈(pop),因为在进栈只需要移动一个变量存储...原创 2019-07-27 16:59:22 · 2339 阅读 · 0 评论