链队列的初始化、出队、入队、取队头元素、判空
来源:互联网 发布:中国网络圣战 编辑:程序博客网 时间:2024/04/29 04:09
#include<iostream>#include<malloc.h>using namespace std;typedef struct qnode{int data;struct qnode *next;}LQNode;typedef struct{LQNode *front; //队头LQNode *rear; //队尾}LQueue;void QueueInitiate(LQueue *q) //初始化{q->front = NULL;q->rear = NULL;}int QueueNotEmply(LQueue q) //判空{if (q.front == NULL){return 0;}else{return 1;}}void QueueAppend(LQueue *q, int x) //入队列{LQNode *p;p = (LQNode *)malloc(sizeof(LQNode));p->data = x;p->next = NULL;if (q->rear != NULL) //队列非空时{q->rear->next = p;}q->rear = p;if (q->front == NULL) //队列为空时{q->front = p;}}int QueueDelete(LQueue *q, int *x) //出队列{LQNode *p;if (q->front == NULL){printf("队列为空,无数据元素出队列!\n");return 0;}else{*x = q->front->data;p = q->front;q->front = q->front->next;if (q->front == NULL) {q->rear = NULL;}free(p);return 1;}}int QueueGet(LQueue q, int *x) //取队头数据元素{if (q.front == NULL){printf("队列为空,无数据元素可取!\n");return 0;}else{*x = q.front->data;return 1;}}int main(){LQueue q;int i, x;QueueInitiate(&q);for (i = 0; i < 10; i++){QueueAppend(&q,i+1);}QueueGet(q, &x);printf("取队头数据元素:%d \n",x);printf("依次删除队头数据元素序列:");while (QueueNotEmply(q)){QueueDelete(&q,&x);printf("%d ",x);}printf("\n");return 0;}
1 0
- 链队列、循环队列的实现(初始化、出队、入队、取队头元素、判空)
- 链队列的初始化、出队、入队、取队头元素、判空
- 顺序循环队列 初始化、出队、入队、取队头元素、判空
- 循环顺序队列(初始化、入队、出队、判空)
- 链对列初始化/入队列/出队列/判空
- 链队列和循环队列的表示与实现-初始化、判空、求长、入队、出队、遍历、求头、求尾、清队、毁队
- 【C++】容器适配器实现队列Queue的各种功能(入队、出队、判空、大小、访问所有元素等)
- 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
- 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
- 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
- 顺序队列初始化/入队/出队列/判断队空
- 链队列的初始化、入队、出队等操作实现
- 链队列的初始化、入队、出队及打印(数据结构)
- C++实现普通队列,循环队列的基本操作(初始化,入队,出队,获取队列首元素等)
- 链队列的初始化,入队,出队,计算队的长度,遍历链队销毁队列
- 链队列的入队、出队
- 链队列的出队入队
- 循环队列的初始化、入队、出队等基本操作
- 几种常用加密算法比较
- jzoj P2433 【普及_模拟】最短路上的统计
- Majority Element
- ArrayList、TreeSet、TreeMap、HashSet和HashMap的简单使用示例
- Sublime内网安装插件教程
- 链队列的初始化、出队、入队、取队头元素、判空
- Android例子—基于socket实现简易聊天室
- 基于Token的WEB后台认证机制
- swift3 协议
- Python正则表达式之: (…) group 分组
- 站队(京东2017实习生真题)
- 程序猿的屌丝经历(一)
- 微信小程序遭遇滑铁卢?七成开发者将放弃
- C#跟Matlab混合编程