主题:初学者的问题:数据结构中的顺序栈的进栈和出栈问题
先对顺序栈类型进行定义
#define StackSize 100
typedef int DataType;
typedef struct
{ DataType data[StackSize];
int top;
}SeqStack;
下面是算法
void InitStack(SeqStack *S)
{
S->top=-1;
}
int StackEmpty(SeqStack *S)
{
return S->top==-1;
}
int StackFull(SeqStack *S)
{
return S->top==StackSize-1;
}
void Push(SeqStack *S,DataType x)
{ if (StackFull(S))
{ printf("Stack overflow");
exit(0); }
S->data[++S->top]=x; }
DataType Pop(SeqStack *S)
{ if (StackEmpty(S))
{ printf("Stack underflow");
exit(0);
}
return S->data[S->top--];
}
现在要编一个main函数来调用相关的函数来实现顺序栈的进栈和退栈操作,并且将元素打印输出(用循环语句)
大家帮我看看,这个main函数怎么写,想了老半天都没写出来,谢谢
[em7][em7][em7]
#define StackSize 100
typedef int DataType;
typedef struct
{ DataType data[StackSize];
int top;
}SeqStack;
下面是算法
void InitStack(SeqStack *S)
{
S->top=-1;
}
int StackEmpty(SeqStack *S)
{
return S->top==-1;
}
int StackFull(SeqStack *S)
{
return S->top==StackSize-1;
}
void Push(SeqStack *S,DataType x)
{ if (StackFull(S))
{ printf("Stack overflow");
exit(0); }
S->data[++S->top]=x; }
DataType Pop(SeqStack *S)
{ if (StackEmpty(S))
{ printf("Stack underflow");
exit(0);
}
return S->data[S->top--];
}
现在要编一个main函数来调用相关的函数来实现顺序栈的进栈和退栈操作,并且将元素打印输出(用循环语句)
大家帮我看看,这个main函数怎么写,想了老半天都没写出来,谢谢
[em7][em7][em7]