为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / yasinSun
其实就相当于一个数组来存放,栈底为0,也就是下标为0的元素,栈底指向当前数组最后一个元素的下一个元素,比如有5个元素,下标分别是0,1,2,3,4 。那么栈顶就是5,而正好有5个元素。

最新回答 / 慕移动9181930
点击讨论框左边那个灰色的相机试试insert写错了哦~\(≧▽≦)/~

最赞回答 / 后苍
......你这是干嘛?看得我头皮发麻。。。

已采纳回答 / 进击的单纯
栈底没有指向,栈顶这时的值为1,但也不能说栈顶指向他,这又不是指针。可以说栈顶只是记录了这个栈的元素个数。但这时通过栈顶的值可以访问到它。

已采纳回答 / 慕粉2147585081
你看过老师的队列么,里面也是这样的。当你传入一数据时,使用引用就能改变这个数据的值,到后面你想知道出栈元素的值就可以直接输出你开始传入的那个元素

最新回答 / 神奇的二宝
是VS,可以用codeblock

已采纳回答 / 慕勒4262831
因为队列篇举例的是环形队列,队头和队尾指向的位置一旦超过队的容量,就指向了初始位(0位)。例如:4个位置(0~3)的队列,现在队头在1位置,队尾在3位置,此时再来一个元素,队尾只能移到0位置,即(3+1)%4=0的位置。出队时队头位置的变化情况也是一样的。而栈的情况和环形队列不同,数据存储是按直线形式的,在元素入栈和出栈时不会出现环形队列指针位置变化的情况,下标不用取余。

最新回答 / 慕标6516834
elem只是作为一个中间值,做一个跳板,在m_iTop下标减一,指向出栈,如果写成m_pBuffer[m_iTop] = elem,因为传递的是引用,那么你的m_pBuffer[m_iTop]的值就被赋值为你主函数传递的值。个人见解,理解错了,勿喷。

已采纳回答 / 慕姐5027723
栈内的某一项均为0~15之间的某个数字,而这个数字需要转换为0~F,所以构造了一个存有0~F字符串的数组,让0~15作为下标去访问这个数组,因为0~15本身也是0~F数组的索引

已采纳回答 / kangjunliu
Coordinate是一个自定义的数据类型呀

最新回答 / BingBing_Elf
首先,我觉得你可能没明白栈顶元素的位置,它的位置一直是在一个空位置,这样才可以有位置来存储新的进栈元素,这也是老师说为什么m_iTop这个角标和元素个数相等的原因,也就是说,当你元素为5个时,存储的角标为0-4,但是你的m_iTop在5的位置。所以,在空栈的情况下,是不是首位置就应该是空的,即它的角标为0,当一个元素入栈后,就可以插入到角标为m_iTop的位置了,插入后一定要进行m_iTop++,让指针指向下一个位置,以便下一个元素的入栈。希望可以帮到你(✿◡‿◡)
课程须知
"本课程是数据结构初级课程 1、熟练掌握C++语言基础语法"
老师告诉你能学到什么?
1、栈的工作原理 2、栈的实现方法及编码技巧 3、栈模板的编码技巧和使用技巧 4、数制转换编程思路及栈的作用 5、括号匹配编程思路及栈的作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消