主函数代码如何写?
利用堆栈 要输入5个数来进行插入,删除操作,主函数代码该如何写?#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define NULL 0
#define OK 1
#define ERROR -1
#define OVERFLOW -2
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef int Status;
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status 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;
}
Status GetTop(SqStack S,SElemType &e)
{
if(S.top==S.base)
return ERROR;
e=*(S.top-1);
return OK;
}
Status Push(SqStack &S,SElemType e)
{
if(S.top-S.base>=S.stacksize)
{
S.base=(SElemType *)realloc(S.base,(S.stacksize +STACKINCREMENT)*sizeof(SElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}
Status Pop(SqStack &S,SElemType &e)
{
if(S.top==S.base)
{
return ERROR;
}
e=*S.base--;
return OK;
}
int main(int argc, char* argv[])//这个主函数应该如何写代码来实现功能?
{
/*SqStack S;
int i=0;
int e=0;
InitStack(S);
Push(S,e);
for(i=0;i<5;i++)
{
scanf("%d",&S.top);
}
printf("\n");
for(i=0;i<5;i++)
{
printf("%4d",S.top);
}*/
return 0;
}