设计一个栈,元素进栈的次序为A,B,C,D,E,请写出得到如下序列的操作序列:C,B,A,D,E.
2条回答 默认 最新
- 快乐鹦鹉 2022-10-02 16:26关注
A,B,C进,然后C,B,A出,再D进D出,再E进E出
你是需要写一个栈吗?那后main里写进栈出栈?#include<stdio.h> #include<malloc.h> //定义栈 typedef struct{ char data[100]; int top; int bottom; }stack; //创建栈 stack *StackCreate(){ stack *p=(stack*)malloc(sizeof(stack));//分配新空间 if(p==NULL)//分配失败 return 0; p->bottom=p->top=0;//分配成功 return p; } //入栈 void StackInput(stack *p,char str){ p->data[p->top]=str;//存入栈中 p->top++;//栈顶指针加1 } //出栈 char StackOutput(stack *p){ char str; if(p->top!=p->bottom){//栈非空 str=p->data[p->top-1];//栈顶内容输出 p->top--;//栈顶减1 return str; } } //输出 void StackPrint(stack *p){ while(p->top!=p->bottom){ printf("%c",p->data[p->top-1]); p->top--; } } //主函数 int main(){ int i; stack *p=StackCreate();//创建栈 StackInput(p,'A'); StackInput(p,'B'); StackInput(p,'C'); printf("%c",StackOutput(p)); printf("%c",StackOutput(p)); printf("%c",StackOutput(p)); StackInput(p,'D'); printf("%c",StackOutput(p)); StackInput(p,'E'); printf("%c",StackOutput(p)); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥120 计算机网络的新校区组网设计
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据
- ¥20 软件测试决策法疑问求解答
- ¥15 win11 23H2删除推荐的项目,支持注册表等