(c语言数据结构)用链式队列的方式实现输入12345,输出12345操作——期末数据结构程序设计
用链式队列的方式实现输入12345,输出12345操作
文章目录
- 用链式队列的方式实现输入12345,输出12345操作
- 1.队列的定义
- 2.队列的初始化
- 3.判空操作
- 4.入队操作
- 5.出队操作
- 6.打印出栈元素
- 7.源代码
- 8.结果展示
- 9.互相关注!共同学习进步!
1.队列的定义
typedef struct LinkNode{ElemType data;struct LinkNode* next;
}LinkNode;
typedef struct {LinkNode* front, * rear;
}LinkQueue;
2.队列的初始化
void InitQueue(LinkQueue& Q) {Q.front = Q.rear = (LinkNode*)malloc(sizeof(LinkNode));Q.front->next = NULL;
}
3.判空操作
bool IsEmpty(LinkQueue Q) {if (Q.front == Q.rear)return true;elsereturn false;
}
4.入队操作
bool EnQueue(LinkQueue& Q,ElemType x) {LinkNode* s = (LinkNode*)malloc(sizeof(LinkNode));s->data = x;s->next = NULL;Q.rear->next = s;Q.rear = s;return true;
}
5.出队操作
bool DeQueue(LinkQueue& Q, ElemType& x) {if (Q.front == Q.rear)return false;LinkNode* p = Q.front->next;x = p->data;Q.front->next = p->next;if (p->next == Q.front)Q.rear = Q.front;free(p);return true;
}
6.打印出栈元素
void printQueue(LinkQueue Q) {LinkNode* p = Q.front->next;while (p!= NULL) {printf("\t元素%d出栈成功!\n", p->data);p = p->next;}printf("\n");
}
7.源代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 5
typedef int ElemType;
//队列的定义
typedef struct LinkNode{ElemType data;struct LinkNode* next;
}LinkNode;
typedef struct {LinkNode* front, * rear;
}LinkQueue;
//队列的初始化
void InitQueue(LinkQueue& Q) {Q.front = Q.rear = (LinkNode*)malloc(sizeof(LinkNode));Q.front->next = NULL;
}
//判空操作
bool IsEmpty(LinkQueue Q) {if (Q.front == Q.rear)return true;elsereturn false;
}
//入队操作
bool EnQueue(LinkQueue& Q,ElemType x) {LinkNode* s = (LinkNode*)malloc(sizeof(LinkNode));s->data = x;s->next = NULL;Q.rear->next = s;Q.rear = s;return true;
}
//出队操作
bool DeQueue(LinkQueue& Q, ElemType& x) {if (Q.front == Q.rear)return false;LinkNode* p = Q.front->next;x = p->data;Q.front->next = p->next;if (p->next == Q.front)Q.rear = Q.front;free(p);return true;
}
void printQueue(LinkQueue Q) {LinkNode* p = Q.front->next;while (p!= NULL) {printf("\t元素%d出栈成功!\n", p->data);p = p->next;}printf("\n");
}
int main() {LinkQueue Q;ElemType x;int i = 0;bool ret;printf("1.初始化队列\n");InitQueue(Q);printf("2.栈为:%s\n", (IsEmpty) ? "空" : "非空");printf("3.请依次入队:\n");while (i<MaxSize) {scanf("%d", &x);EnQueue(Q, x);printf("\t元素%d入栈成功!\n", x);i++;}printf("4.依次出队操作:\n");printQueue(Q);return 0;}
8.结果展示
输入:1 2 3 4 5
输出:12345
9.互相关注!共同学习进步!
文章目录
- 用链式队列的方式实现输入12345,输出12345操作
- 1.队列的定义
- 2.队列的初始化
- 3.判空操作
- 4.入队操作
- 5.出队操作
- 6.打印出栈元素
- 7.源代码
- 8.结果展示
- 9.互相关注!共同学习进步!
(c语言数据结构)用链式队列的方式实现输入12345,输出12345操作——期末数据结构程序设计相关推荐
- (c语言)用链栈表的方式实现输入abcde,输出edcba操作——期末数据结构程序设计
用链栈表的方式实现输入abcde,输出edcba操作,期末数据结构程序设计 文章目录 用链栈表的方式实现输入abcde,输出edcba操作,期末数据结构程序设计 1.链栈的定义 2.链栈的初始化 3. ...
- 【数据结构】链式队列的实现(C语言)
队列的链式存储称为链式队列.链式队列就是一个特殊的单链表,对于这种特殊的单链表,它的插入和删除操作规定在单链表的不同端进行.链式队列的队首和队尾指针分别用front和rear表示. 链式队列要掌握以下 ...
- 链式存储结构 php,【PHP 实现数据结构】链式队列
什么是链式队列 队列是一种"先进先出"的存储结构,是一种特殊的线性表,于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作. 通常队列可以分为顺序队 ...
- (c语言数据结构)用顺序队列的方式实现输入12345,输出12345操作——期末数据结构程序设计
用顺序队列的方式实现输入123456,输出12345操作 文章目录 用顺序队列的方式实现输入123456,输出12345操作 1.队列的定义 2.队列的初始化 3.判空操作 4.入队操作 5. 出队操 ...
- 数据结构——链式队列解析(C语言版)
摘自:数据结构学习--链式队列解析(C语言版) 作者:正弦定理 发布时间:2020-11-26 21:07:08 网址:https://blog.csdn.net/chinesekobe/articl ...
- 数据结构 - 队列简介 及 1个简单的c语言链式队列代码实现
1. 队列的定义 所谓队列(queue)就是一种能实现"先进先出"的一种线性存储结构. 跟栈有点类似, 例如栈只有1个出入口, 任何元素进入或者离开栈都必须经过同1个出入口(栈顶 ...
- c语言定义链式队列用菜单,数据结构之---C语言实现链式队列
//链式队列的存储 //杨鑫 #include #include typedef int QElemType; //定义节点 typedef struct QNode { QElemType data ...
- c语言建立队列(顺序队列、循化队列和链式队列)
c语言建立队列 一.顺序队列 队列的顺序存储结构 顺序队列的讨论 "下溢"现象 "真上溢"现象 "假上溢"现象 二.如何解决"假上 ...
- 数据结构上机实践第七周项目2 - 自建算法库——链队(链式队列)
自建算法库--链队(链式队列) 实现源代码如下: 1.liqueue.h /* copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件工程名称:1 ...
最新文章
- 四连问:API 接口应该如何设计?如何保证安全?如何签名?如何防重?
- 数据类型:Struct 和 Union区别
- JSON,java对象转json
- 用vue.js写的一个瀑布流的组件
- linux如何运行synaptic,Linux_Ubuntu 7.04 Synaptic软件包管理器功能,Ubuntu的新立得软件包管理器(Syn - phpStudy...
- vue devtools 插件安装
- 利用zabbix自动发现监控mongo数据库
- java单核多线程与多核多线程_多线程的程序在多核CPU与单核CPU运行效率有何不同 | 学步园...
- java中级工程师所需的技能_java中级工程师岗位职责
- SCL编写的阀门块实例
- linux中使用rpm命令详解
- 常见神经网络结构拓扑图
- php prepare错误,php环境错误,Loader.php报错
- 这可能是中国最穷的211大学!连研究生奖学金都发不起了....
- 【T3】登录提示运行时错误53,文件未找到
- HDLBites学习笔记之Error (10200): Verilog HDL Conditional Statement error at top_module
- 怎么做web接口测试
- 细谈网络同步在游戏历史中的发展变化(中)
- ppt生成eps文件_如何将AI/EPS格式文件转为ppt格式
- RAC生产数据库RMAN方式恢复到异地单机数据库全程记录