
正文
python栈的输出函数 python出栈入栈
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么实现栈的输入输出?求大神帮忙
你函数声明中的void initstack(sqstack s), void push(sqstack s,int e), void pop(sqstack s,int e)中的的意思是引用, 而不是取地址,所以实际调用的时候不再需要加符号,否则就成取其地址了, 将initstack(s);改成initstack(s); 将 push(s,m); 改成 push(s,m); 将pop(s,e);改成pop(s,e); 应该就可以了
相关问答
Q1: 栈的输出
首先栈是先进后出,Push(S,x); Push(S,’a’); Push(S,y);运行这几句话过后,栈里从上往下元素依次是k,a,c,然后运行pop函数将栈顶元素k取出并赋给x变量,然后又运行Push(S,’t’); Push(S,x);将元素t和x的值(k)压入栈,此时栈中自顶向下元素一次为k t a c,Pop(S,x); Push(S,’s’);再次取出栈顶元素k并赋给X变量,并压入元素s,此时栈中元素自顶向下依次是s t a c,while(!StackEmpty(S)){ Pop(S,y);printf(y); };该语句是将栈中所有的元素一次赋值给y然后打印y,最后打印x,这样最后的输出就是s t a c k
Q2: 如果栈是空的top()会输出啥
栈有两种基本操作:
1.插入操作:push;
2.删除操作:pop。
还有其他典型的操作:
3.返回栈顶:TOP;
4.判断栈是否为空:ISEMPTY;
Ⅰ数组实现:
1.
#define MAX_SIZE 101
int a[MAX_SIZE];
int top=-1;
登录后复制
为了方便先定义全局数组和栈顶top:
2.push(x)函数:
void push(int x)
{
if(top==MAX_SIZE-1)
{
printf("the stack overflow!");
return ;
}
top++;
a[top]=x;
}
登录后复制
如果栈溢出就输出提示语句然后返回,没有溢出则使top自加然后给数组中的top元素赋值x。
3.pop()函数:
void pop()
{
if(top==-1)
{
printf("no element to pop!");
return ;
}
top--;
}
登录后复制
如果栈空就输出提示语句然后返回,非空则只使top自减即可,因为下一次调用push函数时赋的值会覆盖需要删除的值。
python栈的输出函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python出栈入栈、python栈的输出函数的信息别忘了在本站进行查找喔。








