栈和队列程序
#include<stdio.h>#include<stdlib.h>
#define STACK_INIT_SIZE 100
#define STAACKINCREMENT
#define OK 1
#define OVERFLOW -1
#define ERROR 0
typedef struct
{
int *base;
int *top
int stacksize;
}sqstack;
int Initstack(sqstack &S)
{
S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
int GetTop(sqStack S,SElemType &e)
{
if(S.top==S.base) return ERROR;
e=*(S.top-1);
return OK;
}
int Push(SqStack &S,SElemtype e)
{
if(S.top-S.base>=S.stacksize)
{
S.base=(SEletype *)realloc(S.base,(S.stacksize+STACKINCREMENT));
if(!S.base)exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}
int Pop(SqStack &S,SElemType &e)
{
if(S.top==S.base)return ERROR;
e=*--S.top;
return OK;
}
main()
帮忙补全程序实现初始化栈 取栈顶元素 插入元素 删除元素 以前C语言没好好学 现在学数据结构不会写主程序= =