如何将栈中的元素输出

首先需要写一个出栈函数,得到栈顶的值,才能将其输出

bool Pop(SqStack*& s, ElemType& e)
{
    
    
	if (s->top == -1)
		return false;
		e = s->data[s->top];
		s->top--;
		return true;
}

注意:
(1)这个出栈函数是bool型的
原因:
①当栈顶指针不断下降时,要在栈为时停止下降,因此需要进行判断(真假),所以用bool
②不用到判断时才用void,如果需要判断返回值,就只需要bool加个&引用符号即可
扩:&可以写多个返回值,而int、double等函数,只能返回一个,所以一般就考虑bool和void函数即可

(2)注意这个只能返回一个栈顶的元素
要输出全部的栈内元素,需要用到while

while (s->top != -1)
	{
    
    
		Pop(s, e);
		cout << e<<" ";
	}

猜你喜欢

转载自blog.csdn.net/e2788666/article/details/115764049
今日推荐