作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/20 02:18:47
栈中元素个数问题
假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有________个元素.
我认为是:49-30+1=20个.
但是为什么在计算机二级考试中标答却是19?
栈中元素个数问题假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,
这个栈有意思,一般都是
栈底指针为0.然后++top,压栈,这个则是--top;
bottom-top+1为栈中元素个数,
49-30+1=20,是对的,如果
bottom=49,top=49,很明显栈中
49-49+1=1个元素.
这种题目其实没什么意思,它没有说清,如果是19个也可以说明白,就是说它栈顶指针指向的是一个没有存储位置,就是时候实现的时候,是top++,当然也可以指向栈顶元素.那就是++top,哎这种题目其实对理解数据结构也没啥帮助,如果就像题目中出的栈底指向栈底元素,栈顶指向的就是已经存储的栈顶的元素,那就是20个,19的意思是说,栈顶指针指向的是一个还没有存储位置.