请用C语言编写一个堆栈函数程序

请用C语言编写一个堆栈函数程序,第1张

//该程序简单并可正确运行,希望kutpbpb的回答能对你有所帮助!

#include<stdio.h>

#define N 100

typedef struct

{

int value[N]

int base

int top

}Sta

void print()

{

printf("\n菜单:")

printf("\n1.入栈:")

printf("\n2.出栈:")

printf("\n3.退出:")

}

void printS(Sta S)

{

printf("\n请输出栈中元素:")

for(int i=S.topi!=S.basei--)

printf("%d ",S.value[i-1])

}

void pushS(Sta&S,int e)

{

if(S.top==N)

printf("\n栈满")

else

S.value[S.top++]=e

}

void popS(Sta&S,int&e)

{

if(S.top==S.base)

printf("\n栈空")

else

{

e=S.value[--S.top]

printf("\n请输出出栈元素: %d",e)

}

}

void main()

{

Sta S

int e,choose

S.base=S.top=0

do{

print()

printf("\n请输入你的选项:")

scanf("%d",&choose)

switch(choose)

{

case 1:

printf("\n请输入入栈元素:")

scanf("%d",&e)

pushS(S,e)

printS(S)

break

case 2:

popS(S,e)

printS(S)

break

case 3:

default:

break

}

if(choose==3)

break

}while(1)

}

栈的结构是先入后出

BUF1先入,BUF2后入,所以,要是pop的话,先出的是BUF2

因为,使用BUF1来接收POP的数据,所以POP BUF1,就是使用BUF1接收栈中BUF2的数据

同理,POP BUF2是使用BUF2接收栈中的BUF1数据


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12002751.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存