链队列出入队列c语言程序,链队列简单操作(c语言)
#include #define ERROR 0
struct Node{
int Data;
struct Node *Next;
};
struct QNode{
struct Node *rear;
struct Node *front;
};
typedef struct QNode *Queue;
//创建队列
Queue CreateQueue();
//删除队列头元素
int DeleteQ(Queue PtrQ);
//在队尾插入元素
void InsertQ(int item,Queue PtrQ);
//打印队列
void Print(Queue PtrQ);
//判断是否空
int IsEmpty(Queue Q);
int main()
{
Queue PtrQ=CreateQueue();
Print(PtrQ);
InsertQ(1,PtrQ);
InsertQ(2,PtrQ);
InsertQ(3,PtrQ);
Print(PtrQ);
DeleteQ(PtrQ);
Print(PtrQ);
InsertQ(1,PtrQ);
Print(PtrQ);
DeleteQ(PtrQ);
DeleteQ(PtrQ);
DeleteQ(PtrQ);
Print(PtrQ);
return 0;
}
Queue CreateQueue(){
Queue PtrQ;
PtrQ=(Queue)malloc(sizeof(struct QNode));
struct Node *rear;
struct Node *front;
rear =(Node*)malloc(sizeof(struct Node));
rear=NULL;
front =(Node*)malloc(sizeof(struct Node));
front=NULL;
PtrQ->front=front;
PtrQ->rear=rear;
return PtrQ;
};
int DeleteQ(Queue PtrQ){
struct Node *FrontCell;
int FrontElem;
if(IsEmpty(PtrQ)){
printf("队列空");
return ERROR;
}
FrontCell=PtrQ->front;
if(PtrQ->front==PtrQ->rear)
PtrQ->front=PtrQ->rear=NULL;
else{
PtrQ->front=PtrQ->front->Next;
}
FrontElem=FrontCell->Data;
free(FrontCell);
return FrontElem;
}
void InsertQ(int item,Queue PtrQ){
struct Node *FrontCell;
FrontCell=(Node*)malloc(sizeof(struct Node));
FrontCell->Data=item;
FrontCell->Next=NULL;
if(IsEmpty(PtrQ)){
PtrQ->front=FrontCell;
PtrQ->rear=FrontCell;
}
else{
PtrQ->rear->Next=FrontCell;
PtrQ->rear=FrontCell;
}
};
void Print(Queue PtrQ) {
struct Node *Q1;
Q1 = PtrQ->front;
if (Q1 == NULL) {
printf("NULL\n");
return;
}
while (Q1 != PtrQ->rear) {
printf("%d ", Q1->Data);
Q1 =Q1->Next;
}
printf("%d", Q1->Data);
putchar('\n');
}
int IsEmpty(Queue Q){
return(Q->front==NULL);
};
链队列出入队列c语言程序,链队列简单操作(c语言)相关推荐
- 完整简单c语言程序代码,一些简单的C语言程序代码.docx
一些简单的C语言程序代码 由键盘任意输入1个4位数整数,分别输出其中的个位.十位.百位.千位./* expe 3-10 */#include #include void main(void){ int ...
- 一个简单51c语言程序,三个简单的C语言程序(上)
今天我们介绍三个最简单的C语言程序. 例1:要求在屏幕上输出下面一行信息:ThisisaCprogram. 解决方法:在主函数中使用printf函数,将以上单词原样输出. 写程序: 运行结果:This ...
- 几个简单的c语言程序,几个简单的C语言源程序.docx
1>分解质因数的程序: #include zhishu(x,y) { int m=1; while(y%x==0) { if(y%x==0) y=y/x; if(y%x==0) m++; } p ...
- 在c语言中pwm的作用,PWM调速的C语言程序编写(非常简单);
<PWM调速的C语言程序编写(非常简单);>由会员分享,可在线阅读,更多相关<PWM调速的C语言程序编写(非常简单);(4页珍藏版)>请在人人文库网上搜索. 1.PWM调速的C ...
- c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt
c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...
- 统计字符 c语言程序,统计字符个数的C语言程序.doc
统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...
- 顺序表输入栈元素c语言,C语言数据结构之栈简单操作
C语言数据结构之栈简单操作 实验: 编写一个程序实现顺序栈的各种基本运算,并在此基础上设计一个主程序,完成如下功能: (1)初始化顺序栈 (2)插入元素 (3)删除栈顶元素 (4)取栈顶元素 (5)遍 ...
- c语言程序24转换12时间,C语言将24小时制转换为12小时制的方法
C语言将24小时制转换为12小时制的方法 本文实例讲述了C语言将24小时制转换为12小时制的方法.分享给大家供大家参考.具体实现方法如下: /* * 24小时制转换为12小时制 */ #include ...
- c语言程序与设计苏小红,c语言程序设计苏小红
<实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...
- 电子时钟单片机c语言程序,51单片机电子时钟C语言程序
本程序基于ATM89系列单片机的电子时钟C语言程序,能显示月日时分秒,同时还能调节其值!显示方式用六个8段数码管! #include//头文件 #define uchar unsigned char/ ...
最新文章
- 深度学习中的欠拟合和过拟合简介
- python两个数据表中的对应数据相加
- 计算机的网络操作题,计算机网络操作题
- pythonjam怎么运行_第二十四天 PYTHON学习
- java list 取几个字段组装成map_24道Java各类常见问题整理
- 屠杀机器人和无处不在的监控:AI是我们最大的生存威胁?
- 微信开源项目讲解使用公开课
- python list中append()与extend()用法
- POJ 1236 Network of Schools(强连通 Tarjan+缩点)
- 远程连接Linux服务器无法连接解决办法
- 不要版面费的期刊名称
- 引发电气火灾火警的原因(转载)
- configure: error: cups-config not found
- navicat如何创建视图
- Hadoop配置文件详解
- 全能视频播放器:OmniPlayer for Mac(1.4.6)
- python assertequal_python – assertEqual – 两个相同的列表,为什么我得到奇怪的结果?...
- Excel 2010 VBA 入门 043 按自定义序列进行排序
- NPL基于词典分词(三)
- 苹果 Apple Beta 版软件计划 相关软件地址
热门文章
- leetcode 354. 俄罗斯套娃信封问题(二维排序有关)
- 15种基础的可以直接使用的CSS3样式
- Java学习笔记day08_day09_对象实例化_private_this
- python之路_前端基础之jQuery入门2
- 70个经典的 Shell 脚本面试问题
- html之CSS设计(文本、边框、列表标签、display设置、内外边距)
- 初学者python笔记(类的继承与多态---详解)
- 让人头皮发麻的KMP的next函数 困扰我三四天后终于解决了
- Java之final详解
- 宽依赖和窄依赖_Kardemir开始生产窄钢板,进入板材市场