#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语言)相关推荐

  1. 完整简单c语言程序代码,一些简单的C语言程序代码.docx

    一些简单的C语言程序代码 由键盘任意输入1个4位数整数,分别输出其中的个位.十位.百位.千位./* expe 3-10 */#include #include void main(void){ int ...

  2. 一个简单51c语言程序,三个简单的C语言程序(上)

    今天我们介绍三个最简单的C语言程序. 例1:要求在屏幕上输出下面一行信息:ThisisaCprogram. 解决方法:在主函数中使用printf函数,将以上单词原样输出. 写程序: 运行结果:This ...

  3. 几个简单的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 ...

  4. 在c语言中pwm的作用,PWM调速的C语言程序编写(非常简单);

    <PWM调速的C语言程序编写(非常简单);>由会员分享,可在线阅读,更多相关<PWM调速的C语言程序编写(非常简单);(4页珍藏版)>请在人人文库网上搜索. 1.PWM调速的C ...

  5. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

  6. 统计字符 c语言程序,统计字符个数的C语言程序.doc

    统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  7. 顺序表输入栈元素c语言,C语言数据结构之栈简单操作

    C语言数据结构之栈简单操作 实验: 编写一个程序实现顺序栈的各种基本运算,并在此基础上设计一个主程序,完成如下功能: (1)初始化顺序栈 (2)插入元素 (3)删除栈顶元素 (4)取栈顶元素 (5)遍 ...

  8. c语言程序24转换12时间,C语言将24小时制转换为12小时制的方法

    C语言将24小时制转换为12小时制的方法 本文实例讲述了C语言将24小时制转换为12小时制的方法.分享给大家供大家参考.具体实现方法如下: /* * 24小时制转换为12小时制 */ #include ...

  9. c语言程序与设计苏小红,c语言程序设计苏小红

    <实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...

  10. 电子时钟单片机c语言程序,51单片机电子时钟C语言程序

    本程序基于ATM89系列单片机的电子时钟C语言程序,能显示月日时分秒,同时还能调节其值!显示方式用六个8段数码管! #include//头文件 #define uchar unsigned char/ ...

最新文章

  1. 深度学习中的欠拟合和过拟合简介
  2. python两个数据表中的对应数据相加
  3. 计算机的网络操作题,计算机网络操作题
  4. pythonjam怎么运行_第二十四天 PYTHON学习
  5. java list 取几个字段组装成map_24道Java各类常见问题整理
  6. 屠杀机器人和无处不在的监控:AI是我们最大的生存威胁?
  7. 微信开源项目讲解使用公开课
  8. python list中append()与extend()用法
  9. POJ 1236 Network of Schools(强连通 Tarjan+缩点)
  10. 远程连接Linux服务器无法连接解决办法
  11. 不要版面费的期刊名称
  12. 引发电气火灾火警的原因(转载)
  13. configure: error: cups-config not found
  14. navicat如何创建视图
  15. Hadoop配置文件详解
  16. 全能视频播放器:OmniPlayer for Mac(1.4.6)
  17. python assertequal_python – assertEqual – 两个相同的列表,为什么我得到奇怪的结果?...
  18. Excel 2010 VBA 入门 043 按自定义序列进行排序
  19. NPL基于词典分词(三)
  20. 苹果 Apple Beta 版软件计划 相关软件地址

热门文章

  1. leetcode 354. 俄罗斯套娃信封问题(二维排序有关)
  2. 15种基础的可以直接使用的CSS3样式
  3. Java学习笔记day08_day09_对象实例化_private_this
  4. python之路_前端基础之jQuery入门2
  5. 70个经典的 Shell 脚本面试问题
  6. html之CSS设计(文本、边框、列表标签、display设置、内外边距)
  7. 初学者python笔记(类的继承与多态---详解)
  8. 让人头皮发麻的KMP的next函数 困扰我三四天后终于解决了
  9. Java之final详解
  10. 宽依赖和窄依赖_Kardemir开始生产窄钢板,进入板材市场