c语言中出栈函数 c语言栈的输出

C语言 如何输出出栈序列

可以的,先别被题目骗了,说是1,2,3,4为输入序列,实际上只是按照这个顺序执行,并非一次性把1,2,3,4连续放进栈里面,什么情况下会有出栈为3,2,4,1呢?就是,先进栈1,2,3,然后3出栈,再2出栈,然后4进栈,4出栈,再1出栈,那么就满足你提出的可能了。

目前创新互联已为上千的企业提供了网站建设、域名、虚拟空间、网站托管、服务器租用、企业网站设计、盐城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

c语言的简单的进栈出栈

就用这堆函数就可以了,不懂再追问

#include

string.h

#define

MaxSize

100

int

mystack[MaxSize];/*

第0个单元保存现在的长度

*/

/*

初始化函数

*/

void

init_stack(int*

stack){

memset(stack,0,sizeof(stack));

}

/*

入栈函数

*/

void

push_back(int*

stack,int

num){

if(stack[0]MaxSize-1){

++stack[0];

stack[

stack[0]

]

=

num;

}

else{

printf("ERORR!\n");

}

}

/*

返回栈空间

*/

int

size(int*

stack){

return

stack[0];

}

/*

返回栈顶函数

*/

int

top(int*

stack){

if(stack[0]0){

return

stack[

stack[0]

];

}

else{

printf("ERORR!\n");

return

-1;

}

}

/*

出栈函数

*/

void

pop(int*

stack){

if(stack[0]0){

--stack[0];

}

else{

printf("ERORR!\n");

}

}

数据结构链栈出栈的函数有问题,帮忙改一下!(C语言里面取地址和指针一直不太懂)

flag=Pop(S,e);这里不该这样调用,直接使用flag=Pop(S,e);

函数定义int Pop(LinkStack S,SElemType e)里表示引用实参,也即是说使用e对象本身进行运算,而如果没有则是使用e对象的拷贝进行运算


标题名称:c语言中出栈函数 c语言栈的输出
文章分享:http://cdiso.cn/article/ddedjgd.html

其他资讯