数据结构-队列-链表实现
2017-10-15 17:37
417 查看
代码实现
//队列 链表实现 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //定义一个链表 typedef struct _Node Node; struct _Node{ int num; Node * next; }; //定义一个队列 typedef struct _Queue Queue; struct _Queue{ Node * Front; Node * Rear; }; //创建一个队列 Queue * creatQueue(){ Node * node=(Node *)malloc(sizeof(Node)); node->next=NULL; Queue * queue=(Queue *)malloc(sizeof(Queue)); queue->Front=node; queue->Rear=node; return queue; } //判断是否为空 bool isEmpty(Queue * queue){ return (queue->Front==queue->Rear); } //入队 void addQueue(Queue * queue,int num){ //创建一个节点 Node * node=(Node *)malloc(sizeof(Node)); node->next=NULL; node->num=num; //链接这个节点 queue->Rear->next=node; queue->Rear=node; } //出队 int Delete(Queue * queue){ if(isEmpty(queue)){ return NULL; } else{ Node * node=queue->Front->next; int num=node->num; queue->Front->next=node->next; free(node); return num; } } int main(){ Queue * queue=creatQueue(); for(int i=0;i<10;i++){ addQueue(queue,i); } for(int i=0;i<10;i++){ printf("%d\t",Delete(queue)); } }
相关文章推荐
- 数据结构队列的链表实现初始化,出队,出队以及显示
- 一步一步学数据结构之1--1(队列--单链表实现--含队头尾指针)
- 一步一步学数据结构之1--1(队列--单链表实现--含队头尾指针)
- 数据结构--单链表实现队列1
- 数据结构_链表实现无限循环的"环"结构/循环队列
- 数据结构学习中的简单问题(一):用链表方式实现的队列输出杨辉三角
- java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表
- 几种简单的数据结构的C++实现,树,图,链表,环形队列,栈等---栈篇
- 数据结构-用链表实现队列
- Lua中使用table实现的其它5种数据结构(数组、链表、队列、集合和包、StringBuild)
- 几种简单的数据结构的C++实现,树,图,链表,环形队列,栈等---环形队列篇
- 数据结构:用单链表实现的队列
- 数据结构:双向链表实现队列与循环链表
- 基础数据结构--队列链表实现
- java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表
- 数据结构:C_链表队列的实现
- js实现栈、队列、链表数据结构
- 几种基本数据结构--栈、队列、双向链表、有根树的分析和简单实现
- 数据结构(队列--单链表表实现--不含队头尾指针)
- 【数据结构练习】基于链表结构实现的队列