根据以下情况,请写出顺序栈的入栈函数,即往栈中插入元素e为新的栈顶元素?

//试题中用到的头文件
#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 )

MMMHUHU
浏览 321回答 2
2回答

三国纷争

Status Push(SqStack &S, SElemType e ){int len=s.top-s.baseif( 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;}

qq_遁去的一_1

Status Push(SqStack &s,SElemType e){*(s->top)++=e;}
打开App,查看更多内容
随时随地看视频慕课网APP