永发信息网

用栈实现数的输入,在输出,用c语言编写,我想看看代码如何实现

答案:1  悬赏:80  手机版
解决时间 2021-01-08 18:28
  • 提问者网友:蓝莓格格巫
  • 2021-01-08 03:05
用栈实现数的输入,在输出,用c语言编写,我想看看代码如何实现
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-01-08 04:01
#define MaxSize 100 ;
#define TEM 10 ;

typedef struct{
int *top ;
int *base ;
int stacksize;
}SqStack1;//定义int整型数字栈
void InitStack(SqStack1 *p) //构造一个空栈p
{
p->base=(int*)malloc(100*sizeof(int));
if(!p->base) exit(0);
p->top = p->base ;
p->stacksize = 100 ;
}
void Push(SqStack1 *p , int e )//插入元素e为新的栈顶元素
{
if(p->top - p->base >= p->stacksize) {
p->base = (int*)realloc(p->base,(p->stacksize + 10)*sizeof(int));
if(!p->base) exit(0);
p->top = p->base + p->stacksize;
p->stacksize += TEM ;
}
*p->top++ = e ;
}
int Pop (SqStack1 *p , int *e )//出栈
{
if(p->top == p->base ) exit(0);
p->top--;
*e = *p->top ;
return(*e);
}
输入就是插入元素e为新的栈顶元素,输出则是元素出栈,出栈后返回e,其中,e的类型根据需要定!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯