主题:关于栈的提问
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define STACK_LIST_SIZE 100
#define STACKINCREMENT 10
typedef struct STACK
{
int *top;
int *base;
int stacksize;
}sqstack;
void build(sqstack *s);
void del(sqstack *s,int *e);
void insert(sqstack *s,int *e);
main()
{
sqstack L;
int e;
build(&L);
printf("请输入要插入的元素");
scanf("%d",&e);
insert(&L,&e);
}
void build(sqstack *s)
{
s=(sqstack *)malloc(sizeof(sqstack));
if(!s)
printf("error build");
s->base=s->top;
s->stacksize=STACK_LIST_SIZE;
printf("build success");
}构建
void insert(sqstack *s,int *e)
{
int *newbase;
if((s->stacksize)>STACK_LIST_SIZE)
{
newbase=(int *)realloc(s->base,(s->stacksize + STACKINCREMENT)*sizeof(int));
if(!newbase)
{
printf("CREMENT ERROR");
}
s->base=newbase;
s->stacksize+=STACKINCREMENT;
}
(s->top) ++;
*(s->top++)=*e;
printf("insert success");
}插入
这是一个栈的构建和插入操作,但怎么调用就是不行,请问出了什么错啊,请高手指点一下,谢谢了
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define STACK_LIST_SIZE 100
#define STACKINCREMENT 10
typedef struct STACK
{
int *top;
int *base;
int stacksize;
}sqstack;
void build(sqstack *s);
void del(sqstack *s,int *e);
void insert(sqstack *s,int *e);
main()
{
sqstack L;
int e;
build(&L);
printf("请输入要插入的元素");
scanf("%d",&e);
insert(&L,&e);
}
void build(sqstack *s)
{
s=(sqstack *)malloc(sizeof(sqstack));
if(!s)
printf("error build");
s->base=s->top;
s->stacksize=STACK_LIST_SIZE;
printf("build success");
}构建
void insert(sqstack *s,int *e)
{
int *newbase;
if((s->stacksize)>STACK_LIST_SIZE)
{
newbase=(int *)realloc(s->base,(s->stacksize + STACKINCREMENT)*sizeof(int));
if(!newbase)
{
printf("CREMENT ERROR");
}
s->base=newbase;
s->stacksize+=STACKINCREMENT;
}
(s->top) ++;
*(s->top++)=*e;
printf("insert success");
}插入
这是一个栈的构建和插入操作,但怎么调用就是不行,请问出了什么错啊,请高手指点一下,谢谢了