队列(queue)需要满足FIFO(First In First Out)的要求。
在是使用双链表实现队列时,需要注意下面三种情况:1)队列为空;2)队列只有一个元素;3)队列有多个元素。
进栈(Enqueue)
出栈(Dequeue)
#pragma once
#ifndef _MY_QUEUE_H
#define _MY_QUEUE_H
typedef struct node {
struct node *pNext;
struct node *pPrev;
int key;
} Node;
typedef struct queue {
struct node *pHead;
struct node *pTail;
} Queue;
Queue *InitQueue(Queue *pQueue);
Queue *ReleaseQueue(Queue *pQueue);
void Enqueue(Queue *pQueue, Node *pCur);
Node *Dequeue(Queue *pQueue);
Nod