//试题中用到的头文件#include <stdio.h>#include <stdlib.h>//试题中用到的通用数据类型和宏typedef int Status;#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define OVERFLOW -2(3)已知栈中用到的数据类型和宏typedef int SElemType;typedef struct{SElemType *base; //栈底指针SElemType *top; //栈顶指针int stacksize; //当前分配的存储空间}SqStack;#define STACK_INIT_SIZE 100#define STACKINCREMENT 10请写出顺序栈的入栈函数,即往栈中插入元素e为新的栈顶元素Status Push(SqStack &S, SElemType e )(4)已知队列中用到的数据类型和宏typedef int QElemType;typedef struct qnode{QElemType data;struct qnode *next;}QNode, *QueuePtr;typedef struct{QueuePtr front;QueuePtr rear;}LinkQueue;请完成入队操作函数Status EnQueue(LinkQueue &Q, QElemType e )
2 回答

三国纷争
TA贡献1804条经验 获得超7个赞
Status Push(SqStack &S, SElemType e )
{
int len=s.top-s.base
if( len>=stcaksize)
{
ElemType *newbase;
newbase=new ElemType[stacksize+STACKINCREMENT];
for(int i=0;i< len;i++)
*(newbase+i)=*(base+i);
delete []base;
stacksize+=STACKINCREMENT;
base=newbase;
top=base+ len;
}
*(s.top)=e;
s.top++;
return OK;
}
添加回答
举报
0/150
提交
取消