为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MMMHUHU 2022-02-10 11:07:05
//试题中用到的头文件#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;
}



查看完整回答
反对 回复 2022-02-14
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

Status Push(SqStack &s,SElemType e)
{
*(s->top)++=e;
}

查看完整回答
反对 回复 2022-02-14
  • 2 回答
  • 0 关注
  • 320 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号