队列的出队/入队的操作
来源:互联网 发布:淘宝网包包新款男士 编辑:程序博客网 时间:2024/04/27 20:10
#include <malloc.h>#include <stdio.h>typedef struct Node{ int data; struct Node *pNext;}Node;typedef struct Queue{ Node *first; Node *rear;}Queue;Queue *PushBack(Queue *Q,int num){ Node *p = (Node *)malloc(sizeof(Node)); p->data = num; p->pNext = NULL; if (Q->rear == NULL)//empty queue { Q->first = p; Q->rear = p; } else { Q->rear->pNext = p; Q->rear = p; } return Q;}int PopFirst(Queue *Q){ int num; if (Q->first == NULL) { printf("Empty queue\n"); return 0; } num = Q->first->data; Node *p; p = Q->first; if (Q->first == Q->rear) { Q->first = NULL; Q->rear = NULL; } else { Q->first = Q->first->pNext; } free(p); return num;}void test(){ Queue *Q; Q = (Queue *)malloc(sizeof(Queue)); Q->first = NULL; Q->rear = NULL; PushBack(Q,1); PushBack(Q,2); PushBack(Q,3); PushBack(Q,4); PushBack(Q,5); printf("%d\n",PopFirst(Q)); printf("%d\n",PopFirst(Q)); printf("%d\n",PopFirst(Q)); printf("%d\n",PopFirst(Q)); printf("%d\n",PopFirst(Q)); printf("%d\n",PopFirst(Q));}int main(){ test(); return 0;}
output:
1
2
3
4
5
Empty queue
0
0 0
- 队列的出队/入队的操作
- 队列的入队、出队操作实现
- 队列的入队和出队操作
- 队列的入队/出队操作
- 队列的入队、出队操作
- 队列的入队、出队基本操作
- 队列的入队出队操作
- 链式队列的入队出队操作
- 队列的入队,出队,测长,打印操作
- 队列的入队,出队,测长,打印操作 .
- 【数据结构】队列的出队和入队操作
- 编程实现队列的入队/出队操作
- 编程实现队列的入队/出队操作
- 链队列的初始化、入队、出队等操作实现
- 循环队列的初始化、入队、出队等基本操作
- 顺序队列基本操作的实现----入队、出队、打印
- 队列操作--出队入队
- 顺序队列的创建、入队、出队
- 初遇SOCKET套接字(socket基本概念)
- 交换变量,找出三个中的中间那位
- MAC下安装HOMEBREW
- Android学习—ListView的使用(二)
- VBScript函数--数学函数
- 队列的出队/入队的操作
- Android进行tts引擎设置
- mysql 去除重复字段(product_sku_id)
- 买股为什么不能等三年-读《三十年股票投资心得》
- A Static Method Should Be Accessed In A Static Way
- 黑马程序员————oc点运算、@property和@synthesize、分类
- byte[] 简单的加解密
- 新站SEO的八个链接建设策略
- 常用软件使用技巧