链式队列的基础操作
队列概念:
队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。当线性表中没有元素时,称为“空队”。特点 :先进先出(FIFO)。
队列的特征:
特殊的线性表,先进先出(FIFO)。
1)数据:
对于非空的队列,表头没有直接前驱,表尾没有直接后继,其它有且仅有一个直接前驱和一个直接后继。
2)操作:
只允许在表尾插入数据,在表头删除数据
#ifndef __LINKQUEUE_H__
#define __LINKQUEUE_H__
#include <stdio.h>
#include <stdlib.h>
#include<stdbool.h>
typedef int data_t;
typedef struct LinkQueueNode
{
data_t data;
struct LinkQueueNode *next;
}queuenode,*pqueuenode;
typedef struct LinkQueue
{
pqueuenode front,rear;
}linkqueue,*plinkqueue;
extern void init_linkqueue(plinkqueue *H);
extern bool is_empty_linkqueue(plinkqueue h);
extern void in_linkqueue(plinkqueue h,data_t val);
extern void out_linkqueue(plinkqueue h,data_t *val);
extern void show_linkqueue