链式队列存储实现及操作
来源:互联网 发布:攻城掠地战车数据 编辑:程序博客网 时间:2024/05/21 15:47
# include <stdio.h># include <malloc.h># include <stdlib.h>typedef struct Node{int data;struct Node * pNext;}* PNODE, NODE;typedef struct Queue{PNODE pFront;PNODE pRare;}* PQUEUE, QUEUE;//初始化void init(PQUEUE pQ){pQ->pFront = NULL;pQ->pRare = NULL;return;}//入队void inqueue(PQUEUE pQ, int val){PNODE pNew = (PNODE)malloc(sizeof(NODE));if (!pNew){printf("内存分配失败!\n");exit(-1);}else{pNew->data = val;pNew->pNext = NULL;if (!pQ->pFront){pQ->pFront = pNew;//有一个及一个以上元素的时候保证pQ->pFront不改变}else{pQ->pRare->pNext = pNew;//只有一个元素的时候pQ->pRare->pNext还不存在//有一个及一个以上元素的时候把后一元素的地址赋给前一元素的地址域}pQ->pRare = pNew;printf("入队成功!\n");}return;}//遍历void traverse(PQUEUE pQ){PNODE pTemp = pQ->pFront;if (!pQ->pFront){printf("遍历失败,空队列!\n");return;}else{while (pTemp){printf("%d\n", pTemp->data);pTemp = pTemp->pNext;}printf("遍历完毕!\n");}return;}//出队void outqueue(PQUEUE pQ){if (!pQ->pFront->pNext){printf("队列为空!\n");return;}else{printf("出队成功,出队元素为:%d\n", pQ->pFront->data);pQ->pFront = pQ->pFront->pNext;}return;}//清空void clear(PQUEUE pQ){PNODE pTemp = pQ->pFront;if (!pQ->pFront){printf("空队列!\n");}else{while (pQ->pFront){pQ->pFront = pQ->pFront->pNext;free(pTemp);pTemp = pQ->pFront;}}pTemp = NULL;return;}int main(void){QUEUE q;init(&q);inqueue(&q, 1);inqueue(&q, 2);inqueue(&q, 3);inqueue(&q, 4);inqueue(&q, 5);traverse(&q);outqueue(&q);traverse(&q);clear(&q);traverse(&q);return 0;}
0 0
- 链式队列存储实现及操作
- JAVA实现队列 队列的链式存储结构及操作
- 队列的链式存储的实现及操作
- 队列操作的实现-链式存储
- 队列的链式存储结构及实现
- 队列的链式存储结构及实现
- 队列链式存储实现
- 集合的链式存储及操作实现
- 链式栈存储实现及操作
- 队列的链式存储操作
- Java基础 - 队列的链式存储结构及实现
- Queue队列 链式存储实现
- 单链表实现队列链式存储
- 【线性表】顺序存储、链式存储的实现及操作
- 双链表、链式栈、链式队列 及实现
- 双链表、链式栈、链式队列 及实现
- 链式队列的操作实现
- 栈的链式存储结构操作及实现
- C#对象序列化
- 在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan" 可以让界面不被弹出的键盘挤上去。
- 曾经红火的饭统网关闭调查:欲出售未果 团购引发业务冲突
- 关于74LS04反相器振荡电路调试的一些问题
- RAC: Frequently Asked Questions (Doc ID 220970.1)
- 链式队列存储实现及操作
- 《Java解惑》系列——02字符谜题——谜题23:不劳而获(java编程中的一些常见陷阱)
- Ubuntu 12.04中文输入法的安装
- c#序列化和反序列化的详细使用
- VMware Network Adapter VMnet1和VMnet8未识别的网络的解决方法
- 内地人到香港和农民工到城市
- Linux日常及文件管理命令
- C#序列化详解
- Delphi基本图像处理代码