【问题描述】
求解答编程实现链队的入队、出队操作。(需要详细过程。)
4条回答 默认 最新
- 技术专家团-小桥流水 2023-03-23 11:40关注
链表实现的队列吗?之前给你写过一个啊,那个有什么问题吗?还是说不需要循环链表了?
下面是一个链式队列的代码,运行结果如下(截图不全,入队元素是10、9、8,10和9的入队没截上图):C代码:
#include <stdio.h> #include <stdlib.h> /******************定义链式队列,先进先出x*********************/ typedef struct _node { int data; struct _node* next; }QueueNode, * Queue; //初始化队列 Queue Queueinit() { Queue head = (Queue)malloc(sizeof(QueueNode)); head->next = 0; return head; } //入队 int Queuepush(Queue q, int c) { Queue p = q; QueueNode* t = (QueueNode*)malloc(sizeof(QueueNode)); int pos = 1; t->data = c; t->next = 0; while (p->next) { p = p->next; pos++; } p->next = t; return pos; } //出队,成功出队返回1,出队失败返回0 int Queuepop(Queue q, int* e) { Queue p = q->next; if (q->next == 0) return 0; else { *e = p->data; q->next = p->next; free(p); p = 0; return 1; } } //判断是否为空 int Queueempty(Queue q) { if (q->next == 0) return 1; else return 0; } //获取队顶元素 int Queuetop(Queue q, int* e) { Queue p = q->next; if (q->next == 0) return 0; else { *e = p->data; return 1; } } //获取队列长度 int QueueLength(Queue q) { Queue p = q->next; int len = 0; while (p) { len++; p = p->next; } return len; } int main() { int op; //选项 Queue qq = Queueinit(); //初始化队列 int data; while (1) { printf("链式队列功能演示\n"); printf("1.入队\n"); printf("2.出队\n"); printf("3.获取队顶元素\n"); printf("4.获取队列长度\n"); printf("5.队列元素依次出队并显示\n"); printf("6.结束程序\n"); scanf("%d", &op); switch(op) { case 1: printf("请输入需要入队的元素:"); scanf("%d", &data); Queuepush(qq, data); break; case 2: if (Queuepop(qq, &data)) printf("出队元素为%d\n", data); else printf("当前队列为空\n"); break; case 3: if (Queuetop(qq, &data)) printf("队顶元素为%d\n", data); else printf("当前队列为空\n"); break; case 4: printf("当前队列长度为%d\n", QueueLength(qq)); break; case 5: if (Queueempty(qq)) printf("当前队列为空\n"); else { printf("出队元素为:"); while (!Queueempty(qq)) { Queuepop(qq, &data); printf("%d ", data); } printf("\n"); } break; case 6: return 0; } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
- ¥15 itunes恢复数据最后一步发生错误
- ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
- ¥100 H5网页如何调用微信扫一扫功能?
- ¥15 讲解电路图,付费求解
- ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
- ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
- ¥15 Java,消息推送配置