定义一个栈,将5个整数依次入栈,然后依次弹出栈顶元素直至栈为空,并输出出栈元素.
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/16 06:32:41
定义一个栈,将5个整数依次入栈,然后依次弹出栈顶元素直至栈为空,并输出出栈元素.
#include
#include
#define MaxSize 1024//设空栈的最大长度为1024,可根据实际情况进行修改
typedef struct node
{
int data[MaxSize];
int top;
}SeqStack;
SeqStack* Init()
{
SeqStack *s;
s=(SeqStack *)malloc(sizeof(SeqStack));
s->top =-1;
return s;
}
void push(SeqStack *s,int x)
{
if(s->top ==MaxSize-1) return;
else
{
s->top ++;
s->data [s->top ]=x;
}
}
int pop(SeqStack *s)
{
if(s->top ==-1) return 0;
else
return s->data [s->top--];
}
void main()
{
SeqStack *s;
int t;
s=Init();
printf("请输入5入栈数字:\n");
for(int i=0;itop !=-1)
{
t=pop(s);
printf("%5d",t);
}
printf("\n");
}
#include
#define MaxSize 1024//设空栈的最大长度为1024,可根据实际情况进行修改
typedef struct node
{
int data[MaxSize];
int top;
}SeqStack;
SeqStack* Init()
{
SeqStack *s;
s=(SeqStack *)malloc(sizeof(SeqStack));
s->top =-1;
return s;
}
void push(SeqStack *s,int x)
{
if(s->top ==MaxSize-1) return;
else
{
s->top ++;
s->data [s->top ]=x;
}
}
int pop(SeqStack *s)
{
if(s->top ==-1) return 0;
else
return s->data [s->top--];
}
void main()
{
SeqStack *s;
int t;
s=Init();
printf("请输入5入栈数字:\n");
for(int i=0;itop !=-1)
{
t=pop(s);
printf("%5d",t);
}
printf("\n");
}
设已将元素a1,a2,a3依次入栈,元素a4正等待进栈.那么下列4个序列中不可能出现的出栈序列是( )
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s1,s3,s4,s2,s6,
从键盘输入一个整数n(n≤10)和n个整数,存入数组a中,先依次输出各个数组元素的值,然后找出最大值,并输
定义一个堆栈的类,有入栈,出栈输出栈中所有的元素的功能
栈底至栈顶依次存放元素A、B、C、D,第五个元素E入栈前,栈中元素可出栈,求出栈顺序?
将30个整数存放于一维数组a中,把其中所有能同时被3和7整除的数依次存入数组b,并按每行最多3个元素格式输出b
用java创建一个包含5个元素的List集合,然后将该List集合转换为数组,并输出转 换后的数组.
若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是_____.
一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈顺序是s2,s3,s4,s6,s5,s1,则
c++从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,
建立顺序存储的栈,并对之进行入栈、出栈、取栈顶元素操作的c语言算法