慕侠5094107
2017-07-07 19:08
栈顶为-1 不是才为空吗 希望能说明一下,视频中说为0是空
首先,我觉得你可能没明白栈顶元素的位置,它的位置一直是在一个空位置,这样才可以有位置来存储新的进栈元素,这也是老师说为什么m_iTop这个角标和元素个数相等的原因,也就是说,当你元素为5个时,存储的角标为0-4,但是你的m_iTop在5的位置。所以,在空栈的情况下,是不是首位置就应该是空的,即它的角标为0,当一个元素入栈后,就可以插入到角标为m_iTop的位置了,插入后一定要进行m_iTop++,让指针指向下一个位置,以便下一个元素的入栈。希望可以帮到你(✿◡‿◡)
我自己写的栈就是-1为空,当有一个元素top=0 ,不是正好能利用整个数组嘛,或者你top=0 为空,添加一个元素数组[top-1] = element 也行啊,就是整个全体上错一位嘛,原理理解了随便写的啊top = 100也行 当然你的数组就从100开始了
为什么是-1,是0。有一个元素的时候为1
数据结构探险—栈篇
62724 学习 · 102 问题
相似问题