2008秋季-计算机软件基础-0922课堂用例(2)
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)相关推荐
- 2008秋季-计算机软件基础-0917课堂用例(2)
循环队列 参见:http://www.cnblogs.com/emanlee/archive/2007/09/17/895463.html #include<stdlib.h> //定义队 ...
- 2008秋季-计算机软件基础-有序表合并 教材 P79, ex3
/* Author: Eman Lee */ /*计算机软件基础 教材 P79, ex3*/ #include <stdio.h> #include <stdlib.h> in ...
- 2008秋季-计算机软件基础-未交实验报告名单
实验四 序号:108 实验五 序号:108,225,226 351 实验二 353 实验一 356 实验二 360 实验三 365 实验三 367 实验三 368 实验二 372 实验五 转载于:ht ...
- 2008秋-计算机软件基础- 实验一 参考源程序
------------------------------------------------------------------ 实验一 参考源程序 // 线性表的顺序存储(顺序表) // Aut ...
- 2008秋-计算机软件基础-第四章习题参考答案 P131 ,习题6之一
Author: Eman Lee P131,第6题之一 参考答案 (1) 直接插入排序 初始状态 [53] [87 12 61 70 68 27 65 21 35 ] 第 ...
- 2008秋-计算机软件基础-第三章- 二叉排序树
/*--------------------------------------------------------- Title: 二叉排序树(Binary Sorting Tree) 请先阅 ...
- 省培计算机实践作业,计算机软件基础强化实践能力培养实践部分考核作业.doc...
计算机软件基础强化实践能力培养实践部分考核作业 V:1.0 精选考核制度 计算机软件基础强化实践能力培养实践部分考核作业 2020- -6 6- -8 8 <计算机软件基础>强化实践能力培 ...
- 计算机软件基础 自考,计算机软件基础自考本科.ppt
计算机软件基础自考本科.ppt 计算机软件基础 第一篇C语言程序设计基础 第六章结构类型 一 结构类型的概念 1 结构类型 是指由用户自行定义的不同数据类型的组合体 学生的基本数据 学号长整型姓名字符 ...
- 自考计算机软件基础真题,计算机软件基础历年自考真题及答案
做试题,没答案?上自考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 ...
- 计算机软件考试基础知识,计算机软件基础期末考试试题及参考答案
计算机软件基础期末考试试题及参考答案 北京航空航天大学 班级:__________:学号:______________:姓名:__________________:成绩:___________ 一.填 ...
最新文章
- Ubuntu 14.04 64位上安装wps office软件
- 重磅 | 最全PPT实录!英伟达发布可编程AI推理加速器TensorRT
- 修改 Android 5.1 默认设置
- android 访问公共文件夹权限_手机应用获取了储存权限后,可以访问你整个文件吗?...
- springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置...
- .NET操作RabbitMQ组件EasyNetQ使用中文简版文档。
- mysql安装主从配置_MySQL安装与主从配置
- [css] 说说display:none和visibility:hidden的区别
- [Leedcode][JAVA][第198题][打家劫舍][动态规划]
- Codeforces Round #462 (Div. 2), problem: (C) A Twisty Movement (求可以转一次区间的不递增子序列元素只有1,2)...
- ORA-00906 missing left parenthesis括号
- IE8下JQuery clone 出的select元素使用append添加option异常解决记录
- iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用
- hadoop2.6.0的eclipse插件编译和设置
- 网易MuMu模拟器安装及配置
- 互联网大数据与物联网大数据的区别 你有必要了解下
- Linux脚本定时开关机,2020-09-06shell脚本开机自动启动与定时任务
- 爬取王者荣耀皮肤-点券领取
- android 听筒模式外放模式的切换,YY项目之Android 听筒 扬声器 切换
- 10.图灵学院-----阿里/京东/滴滴/美团整理----安全验证篇