- #ifndef _LINKEDQUEUE_H
- #define _LINKEDQUEUE_H
- typedef char ElemType;
- typedef struct qnode
- {
- ElemType data;
- struct qnode *next;
- }QNode;
- typedef struct
- {
- QNode *front;
- QNode *rear;
- }LiQueue;
- #endif
- void InitQueue(LiQueue *q)
- {
- q = (LiQueue *)malloc(sizeof(LiQueue));
- q->front = q->rear = NULL;
- }
- int QueueEmpty(LiQueue *q)
- {
- return q->rear == NULL ? 1 : 0; //因为是从为节点插入的,所以判断为节点就能达到目的
- }
- int enQueue(LiQueue *q, ElemType x)
- {
- QNode *temp = NULL;
- temp = (QNode *)malloc(sizeof(QNode));
- temp->data = x;
- temp->next = NULL;
- if(q->rear == NULL)
- {
- q->front = q->rear = temp;
- return 1;
- }else
- {
- temp->next = q->rear->next;
- q->rear->next = temp;
- q->rear = temp;
- return 1;
- }
- }
- #include <stdio.h>
- #include "stdlib.h"
- typedef struct _queue_node
- {
- int data;
- struct _queue_node *next;
- }QUEUE;
- QUEUE * rear = NULL, *front = NULL;
- int InQueue(int value)
- {
- QUEUE *temp = (QUEUE *)malloc(sizeof(QUEUE));
- if(temp == NULL) return 0;
- temp->data = value;
- temp->next = NULL;
- if(front == NULL)
- front = temp;
- else
- rear->next = temp;
- rear = temp;
- return 1;
- }
- int OutQueue(int *value)
- {
- QUEUE *temp = front;
- if(front == NULL)
- return 0;
- *value = front->data;
- front = front->next;
- free(temp);
- return 1;
- }
- void main ()
- {
- int temp;
- while(1)
- {
- printf("1 write, 2 read =>\n");
- scanf("%d",&temp);
- fflush(stdin);
- switch(temp)
- {
- case 1:
- printf("输入一个整数 \n");
- scanf("%d",&temp); //此处不可为scanf("%d ",&temp) 因为%d 后面有 空格
- fflush(stdin);
- if(InQueue(temp) )
- printf("ok\n");
- else
- printf("fail\n");
- break;
- case 2:
- if(OutQueue(&temp) )
- printf("ok! value is %d \n",temp);
- else
- printf("fail to read\n");
- break;
- default :
- exit(0);
- }
- }
- }
链表实现队列
原创
©著作权归作者所有:来自51CTO博客作者chinaiam的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【数据结构】链式家族的成员——循环链表与静态链表
【数据结构】第二章——线性表(8)详细介绍了循环链表与静态链表的相关内容……
数据结构 C语言 循环链表 静态链表 -
数据结构入门之———离散存储结构【链表】——队列
数据结构入门之———离散存储结构【链表】——队列Xcode/*循环队列*/#
指针 链表 队列 数据结构 出队