栈中元素个数问题假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,

栈中元素个数问题
假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有________个元素.
我认为是:49-30+1=20个.
但是为什么在计算机二级考试中标答却是19?
空中楼阁的 1年前 已收到1个回答 举报

forobert 幼苗

共回答了23个问题采纳率:100% 举报

这个栈有意思,一般都是
栈底指针为0.然后++top,压栈,这个则是--top;
bottom-top+1为栈中元素个数,
49-30+1=20,是对的,如果
bottom=49,top=49,很明显栈中
49-49+1=1个元素.
这种题目其实没什么意思,它没有说清,如果是19个也可以说明白,就是说它栈顶指针指向的是一个没有存储位置,就是时候实现的时候,是top++,当然也可以指向栈顶元素.那就是++top,哎这种题目其实对理解数据结构也没啥帮助,如果就像题目中出的栈底指向栈底元素,栈顶指向的就是已经存储的栈顶的元素,那就是20个,19的意思是说,栈顶指针指向的是一个还没有存储位置.

1年前

10
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.051 s. - webmaster@yulucn.com