链式队列操作
2011-07-30 17:57
218 查看
#include<stdio.h> #include<stdlib.h> /*链队列的结点定义*/ typedef struct node { int data; struct node *next; }Qnode; /*队列链式结构定义*/ typedef struct LinkQueue { Qnode *front, *rear; } LQueue; /*入队操作*/ void En_LQueue(LQueue *HQ, int x) { Qnode *p = (Qnode *)malloc(sizeof(Qnode)); //新生成的结点 p->data = x; p->next = NULL; if(NULL == HQ->rear) { HQ->front = HQ->rear = p; } else { HQ->rear->next = p; HQ->rear = p; } } /*出队操作*/ void De_LQueue(LQueue *HQ) { Qnode *p; int x; if(HQ->front == NULL) { printf("队列为空"); return ; }else { p = HQ->front; //取出对头给p x = p->data; //对头数据元素存入x HQ->front = p->next; //对头指向下一个元素 if(NULL == HQ->front) //队列为空时,队尾也置空 { HQ->rear = NULL; } free(p); printf("出队列的元素是:%d",x); } }
相关文章推荐
- 再回首,数据结构——链式队列上的常见操作
- 《数据结构》严蔚敏版(java解)——第三章 栈和队列02 链式栈操作
- 链式队列基本操作
- 数据结构之链式队列的所有操作
- 数据结构之顺序队列和链式队列常用的一些操作
- 队列的链式存储操作
- 链式队列基本操作
- 队列基本操作(链式结构)
- 循环队列和链式队列的结构及其基本操作(入队、出队、取队头、查看对内元素)
- 【队列】链式结构实现队列的基本操作
- C++链式队列基本操作
- 采用链式存储实现队列的初始化、入队、出队操作。
- 链式队列基本操作总结
- 链式队列的操作实现
- 队列的定义与操作(链式存储)
- 链式队列8种操作的实现
- 队列之链式队列基本操作
- 链式队列的定义与操作
- 链式队列的操作实现
- 链式队列的基本操作(配图)