鱼C论坛

 找回密码
 立即注册
查看: 2066|回复: 1

c++栈和队列

[复制链接]
发表于 2021-12-3 10:58:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
运行不了,不知道怎么改,求助大佬!!


1. /*定义顺序栈的存储结构*/
typedef struct {
     ElemType stack[MAXNUM];
     int top;
}SqStack;
/*初始化顺序栈函数*/
void InitStack(SqStack *p)
{q=(SqStack*)malloc(sizeof(SqStack) /*申请空间*/)
/*入栈函数*/
void Push(SqStack *p,ElemType x)
{if(p->top<MAXNUM-1)
     {p->top=p->top+1;     /*栈顶+1*/
      p->stack[p->top]=x; }  /*数据入栈*/
}
/*出栈函数*/
ElemType Pop(SqStack *p)
{x=p->stack[p->top]; /*将栈顶元素赋给x*/
p->top=p->top-1; } /*栈顶-1*/
/*获取栈顶元素函数*/
ElemType GetTop(SqStack *p)
{ x=p->stack[p->top];}
/*遍历顺序栈函数*/
void OutStack(SqStack *p)
{ for(i=p->top;i>=0;i--)
printf("第%d个数据元素是:%6d\n",i,p->stack[i]);}
/*置空顺序栈函数*/
void setEmpty(SqStack *p)
{ p->top= -1;}
2. /*定义链队列*/
typedef struct Qnode
{   ElemType data;
     struct Qnode *next;
}Qnodetype;
typedef struct
{   Qnodetype *front;
     Qnodetype *rear;
}Lqueue;
/*初始化并建立链队列函数*/
void creat(Lqueue *q)
{   h=(Qnodetype*)malloc(sizeof(Qnodetype)); /*初始化申请空间*/
     h->next=NULL;
     q->front=h;
     q->rear=h;
for(i=1;i<=n;i++)*利用循环快速输入数据*/
     {     scanf("%d",&x);
            Lappend(q,x);}   /*利用入链队列函数快速输入数据*/
}
/*入链队列函数*/
void Lappend(Lqueue *q,int x)
{ s->data=x;
     s->next=NULL;
     q->rear->next=s;
     q->rear=s;}
/*出链队列函数*/
ElemType Ldelete(Lqueue *q)
{ p=q->front->next;
     q->front->next=p->next;
     if(p->next==NULL)
     q->rear=q->front;
     x=p->data;
     free(p);} /*释放空间*/
/*遍历链队列函数*/
void display(Lqueue *q)
{ while(p!=NULL)  /*利用条件判断是否到队尾*/
     {     printf("%d-->",p->data);
            p=p->next;
     }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-3 10:59:20 | 显示全部楼层
发错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-30 01:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表