C++队列、栈、堆基本概念

本文深入讲解了数据结构中的队列、栈和堆的基本概念及操作规则,包括队列的FIFO特性,栈的FILO原则,以及堆作为二叉树的数组实现方式。通过具体实例,帮助读者理解并掌握这些数据结构的应用。

一.队列(Queue)
1.基本概念:队列是只允许在队尾添加数据,在队头(Front)删除数据的线性表。
2.遵循规则:先进先出(First In First Out) FIFO
3.小练习:
题目:
首先将一个数组的第一个数删除,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,将第四个数放到这串数字的末尾,以此类推,直到只剩下最后一个数字,并将最后一个数字删除,将这些删除的数字连在一起。
在这里插入图片描述
运行结果:
在这里插入图片描述

二.栈(Stack)
1.基本概念:栈是只允许在栈顶(Top)进行删除和插入的线性表。
2.遵循规则:先进后出(First In Last Out) FILO
3.操作规则:压栈(push),弹出(pop)
4.小练习:
题目:
随便输入一个字符串,检测字符串是否为回文字符串。
PS:题就一句话,很简练吧。想做这道题,我们首先要了解下回文是什么东东,所谓回文,就是一个正读反读都一致的字符串。以为了解到这就over了? 我们还要想想这个字符串的字符个数是奇数还是偶数,奇数就很简单了,找到中间点 ·····。好啦 就提醒到这

在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述
三.堆(Heap)
1.基本概念:堆可以看做是一个二叉树的数组对象。
2.遵循规则:从根节点开始,每个节点都可以有左右节点,元素优先将每一层 按照从左到右的方式填满,就是父节点最多有两个节点,有右节点一定有对应的左节点,每一层的某个节点的左节点一定是被填满的。
3.分类 :最大堆(根节点比子节点的元素都小),最小堆(根节点比子节点的元素都大),但对于左右节点的大小没有规定。

未完,待更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值