数据结构——链队列——2016_12_27
来源:互联网 发布:淘宝 iphone att群 编辑:程序博客网 时间:2024/06/06 00:55
链队列源代码(C语言版)
/*********实现了初始化,插入,删除,销毁,退出等功能*********/
#include<stdio.h>#include<stdlib.h>//定义节点typedef struct QNode{ int data; struct QNode * next;}QNode,*QueuePtr;//定义队头和队尾typedef struct { QueuePtr front; QueuePtr rear;}LinkQueue;//初始化队列void InitQueue(LinkQueue *Q){ if(Q->front=Q->rear=malloc(sizeof(QNode))) Q->front->next=NULL; else exit(0);}//销毁队列void DestroyQueue(LinkQueue * Q){while(Q->front){ Q->rear=Q->front->next; free(Q->front); Q->front=Q->rear;} printf("销毁完成!\n");}//插入节点void InsertQueue(LinkQueue * Q,int e){ QueuePtr q;q=malloc(sizeof(QNode));if(!q)exit(0);q->data=e; q->next=NULL;Q->rear->next=q;Q->rear=q;}//删除节点void DeleteQueue(LinkQueue * Q){ QueuePtr p;p=Q->front->next;Q->front->next=p->next;if(Q->rear==p)Q->rear=Q->front;free(p);}//打印队列void PrintQueue(LinkQueue Q){ QueuePtr p;if(Q.front==Q.rear){printf("队列空\n"); } printf("_____________________________________________________________________________\n");p=Q.front->next;while(p->next!=NULL){printf("%d ",p->data); p=p->next; }printf("%d\n",p->data); printf("———————————————————————————————————————\n");}//主函数int main(){int i,x,v; LinkQueue Q; InitQueue(&Q); for(i=1;i<=12;i++){ InsertQueue(&Q,i); } printf("十二个节点的链队列已初始化完成!\n"); PrintQueue(Q); printf("请输入操作序号1.插入 2.删除 3.销毁 4.退出\n"); scanf("%d",&x); while(x!=0){ switch(x){ case 1:printf("请输入要插入的数值:"); scanf("%d",&v); InsertQueue(&Q,v);PrintQueue(Q);break; case 2:printf("正在删除:\n"); DeleteQueue(&Q);PrintQueue(Q);break; case 3:printf("正在销毁...\n"); DestroyQueue(&Q); case 4:exit(0); default:printf("输入参数有误,请重新输入!\n"); } printf("请输入操作序号1.插入 2.删除 3.销毁 4.退出\n"); scanf("%d",&x); }return 0;}
程序截图:
联系邮箱:xhsgg12302@outlook.com
2016_12_27
0 0
- 数据结构——链队列——2016_12_27
- 数据结构——链队列
- 数据结构——链队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 队列——数据结构
- 数据结构——队列
- 数据结构——队列
- 数据结构——队列
- 队列——数据结构
- 数据结构——队列
- 过滤器
- 设计模式-适配器模式
- 图的深度遍历——java实现
- 简单几步实现网络音乐播放器(Qt版百度FM)
- MongoDB的使用及集群搭建
- 数据结构——链队列——2016_12_27
- bzoj 2400: Spoj 839 Optimal Marks
- TCP与应用层协议
- Leetcode刷题记—— Search a 2D Matrix(在二维数组里查找)
- Linux内核模块
- 第3章-1 创建ndarray 学习笔记
- 2016这一年读过的那些书
- 【oracle游标二】游标循环方式
- Waiting for table metadata lock