/*---------------------------------------------------------
 Title: Link Queue(链队列) 链队列-链式存储结构的队列 
  请先阅读教材74-77页, 2.4.1-2.4.4节, 队列的定义及基本运算
 (注意:以下程序为简化后的,仅供入门学习之用)
----------------------------------------------------------*/
#include<stdio.h>
#include<stdlib.h>
//定义队列的结构
struct queueNode
{
   int data;//存放数据元素
   struct queueNode * next;//指针,指向下一个结点
};
struct queue
{
    struct queueNode * front;
    struct queueNode * rear;
};

//初始化队列
struct queue * InitialQueue()
{
 struct queue * head;
 struct queueNode * node;
 node=(struct queueNode *)malloc(sizeof(struct queueNode ));
 head=(struct queue *)malloc(sizeof(struct queue ));
 node->next=NULL;
 head->front=node;
 head->rear=node;
 return head;
}

//入队列
void EnterIntoQueue(struct queue * head, int value)
{
    struct queueNode * node;
    node=(struct queueNode *)malloc(sizeof(struct queueNode ));
    node->data=value;
    node->next=NULL;
    head->rear->next=node;
    head->rear=node;
    
 }

//出队列
void DeleteFromQueue(struct queue * head)
{
    struct queueNode * node;
 if(head->front==head->rear)
 {
     printf("Queue is empty, Delete failed\n");
 }
 else
    {
    node=head->front->next;
    head->front->next=node->next;
    free(node);
    // when there is only one element, the following is necessary.
     if(head->front->next==NULL)
     head->rear=head->front;
    }
}

//显示队列中所有元素
void ShowAllElements(struct queue * head)
{
 struct queueNode * node;
 printf("\n Show all elements: \n");
 node=head->front->next;
 while(node!=NULL)
 {
  printf(" %d ",node->data);
  node=node->next;
 }
}

void main()
{
    struct queue * head1;
    head1=InitialQueue();

ShowAllElements(head1);
    EnterIntoQueue(head1,11);
    ShowAllElements(head1);
    EnterIntoQueue(head1,22);
    ShowAllElements(head1);
    DeleteFromQueue(head1);
    ShowAllElements(head1);
}

2008秋季-计算机软件基础-0922课堂用例(2)相关推荐

  1. 2008秋季-计算机软件基础-0917课堂用例(2)

    循环队列 参见:http://www.cnblogs.com/emanlee/archive/2007/09/17/895463.html #include<stdlib.h> //定义队 ...

  2. 2008秋季-计算机软件基础-有序表合并 教材 P79, ex3

    /* Author: Eman Lee */ /*计算机软件基础 教材 P79, ex3*/ #include <stdio.h> #include <stdlib.h> in ...

  3. 2008秋季-计算机软件基础-未交实验报告名单

    实验四 序号:108 实验五 序号:108,225,226 351 实验二 353 实验一 356 实验二 360 实验三 365 实验三 367 实验三 368 实验二 372 实验五 转载于:ht ...

  4. 2008秋-计算机软件基础- 实验一 参考源程序

    ------------------------------------------------------------------ 实验一 参考源程序 // 线性表的顺序存储(顺序表) // Aut ...

  5. 2008秋-计算机软件基础-第四章习题参考答案 P131 ,习题6之一

    Author: Eman Lee  P131,第6题之一 参考答案 (1)       直接插入排序 初始状态 [53] [87  12  61  70  68  27  65  21  35 ] 第 ...

  6. 2008秋-计算机软件基础-第三章- 二叉排序树

    /*---------------------------------------------------------  Title: 二叉排序树(Binary Sorting Tree)   请先阅 ...

  7. 省培计算机实践作业,计算机软件基础强化实践能力培养实践部分考核作业.doc...

    计算机软件基础强化实践能力培养实践部分考核作业 V:1.0 精选考核制度 计算机软件基础强化实践能力培养实践部分考核作业 2020- -6 6- -8 8 <计算机软件基础>强化实践能力培 ...

  8. 计算机软件基础 自考,计算机软件基础自考本科.ppt

    计算机软件基础自考本科.ppt 计算机软件基础 第一篇C语言程序设计基础 第六章结构类型 一 结构类型的概念 1 结构类型 是指由用户自行定义的不同数据类型的组合体 学生的基本数据 学号长整型姓名字符 ...

  9. 自考计算机软件基础真题,计算机软件基础历年自考真题及答案

    做试题,没答案?上自考365,网校名师为你详细解答!一.l.C 2.A 3.D 4.A 5.C 6.C 7.B 8.D 9.A l0.D 11.C l2.C l3.B l4.D l5.B 2008年4 ...

  10. 计算机软件考试基础知识,计算机软件基础期末考试试题及参考答案

    计算机软件基础期末考试试题及参考答案 北京航空航天大学 班级:__________:学号:______________:姓名:__________________:成绩:___________ 一.填 ...

最新文章

  1. Ubuntu 14.04 64位上安装wps office软件
  2. 重磅 | 最全PPT实录!英伟达发布可编程AI推理加速器TensorRT
  3. 修改 Android 5.1 默认设置
  4. android 访问公共文件夹权限_手机应用获取了储存权限后,可以访问你整个文件吗?...
  5. springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置...
  6. .NET操作RabbitMQ组件EasyNetQ使用中文简版文档。
  7. mysql安装主从配置_MySQL安装与主从配置
  8. [css] 说说display:none和visibility:hidden的区别
  9. [Leedcode][JAVA][第198题][打家劫舍][动态规划]
  10. Codeforces Round #462 (Div. 2), problem: (C) A Twisty Movement (求可以转一次区间的不递增子序列元素只有1,2)...
  11. ORA-00906 missing left parenthesis括号
  12. IE8下JQuery clone 出的select元素使用append添加option异常解决记录
  13. iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用
  14. hadoop2.6.0的eclipse插件编译和设置
  15. 网易MuMu模拟器安装及配置
  16. 互联网大数据与物联网大数据的区别 你有必要了解下
  17. Linux脚本定时开关机,2020-09-06shell脚本开机自动启动与定时任务
  18. 爬取王者荣耀皮肤-点券领取
  19. android 听筒模式外放模式的切换,YY项目之Android 听筒 扬声器 切换
  20. 10.图灵学院-----阿里/京东/滴滴/美团整理----安全验证篇

热门文章

  1. 使用Macsome Audiobook Converter for Mac转换有声读物?
  2. 21.5 英寸 iMac 供应减少:是新品发布的节奏吗?
  3. Z-score标准化[转载]
  4. 基于神经网络的实体识别和关系抽取联合学习
  5. webpack+vue动态加载组件尝试
  6. Mybatis3 最简例子
  7. Illustrator 教程,如何在 Illustrator 中创建标签?
  8. 苹果电脑如何查看本机IP地址和DNS?
  9. AirServer for mac如何实现无线投屏
  10. macOS应用程序打开时出现崩溃的情况,怎样处理?