代碼示例
(1)Queue.h
1.頭文件的聲明
#pragma once
//頭文件的聲明
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
2.隊列接口的定義
//鏈表接口定義
typedef int QDataType;
typedef struct QueueNode
{
? ? struct QueueNode* next;
? ? QDataType data;
}QNode;
//隊列接口定義
typedef struct Queue
{
? ? QNode* head;
? ? QNode* tail;
? ? int size;
}Que;
3.初始化和銷毀函數的聲明
//隊列初始化
void QueueInit(Que* pq);
//隊列銷毀
void QueueDestroy(Que* pq);
4.入隊列和出隊列函數的聲明
//插入
void QueuePush(Que* pq, QDataType x);
//刪除
void QueuePop(Que* pq);
5.查找隊頭、查找隊尾函數的聲明
//查找隊頭元素
QDataType QueueFront(Que* pq);
//查找隊尾元素
QDataType QueueBack(Que* pq);
6.判空以及長度計算函數的聲明
?
//判斷是否為空
bool QueueEmpty(Que* pq);
//計算長度
int QueueSize(Que* pq);