欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

數據結構之棧(四)

Queue.c

1.頭文件的聲明

#include "Queue.h"

2.初始化和銷毀函數的定義

void QueueInit(Que* pq)
{
? ? assert(pq);

? ? pq->head = pq->tail = NULL;
? ? pq->size = 0;
}

void QueueDestroy(Que* pq)
{
? ? assert(pq);

? ? QNode* cur = pq->head;
? ? while (cur)
? ? {
? ? ? ? QNode* next = cur->next;
? ? ? ? free(cur);
? ? ? ? cur = next;
? ? }

? ? pq->head = pq->tail = NULL;
? ? pq->size = 0;
}

3.入隊列和出隊列函數的定義

void QueuePush(Que* pq, QDataType x)
{
? ? assert(pq);
? ? QNode* newnode = (QNode*)malloc(sizeof(QNode));
? ? if (newnode == NULL)
? ? {
? ? ? ? perror("malloc fail");
? ? ? ? exit(-1);
? ? }

? ? newnode->data = x;
? ? newnode->next = NULL;

? ? if (pq->tail == NULL)
? ? {
? ? ? ? pq->head = pq->tail = newnode;
? ? }
? ? else
? ? {
? ? ? ? pq->tail->next = newnode;
? ? ? ? pq->tail = newnode;
? ? }

? ? pq->size++;
}

void QueuePop(Que* pq)
{
? ? assert(pq);//判斷隊列指針指向是否為空
? ? assert(!QueueEmpty(pq));//判斷隊列里面的數據是否為空

? ? if (pq->head->next == NULL)
? ? {
? ? ? ? free(pq->head);
? ? ? ? pq->head = pq->tail = NULL;
? ? }
? ? else
? ? {
? ? ? ? QNode* next = pq->head->next;
? ? ? ? free(pq->head);
? ? ? ? pq->head = next;
? ? }

? ? pq->size--;
}

4.查找隊頭、查找隊尾函數的定義

//查找隊頭元素
QDataType QueueFront(Que* pq)
{
? ? assert(pq);
? ? assert(!QueueEmpty(pq));

? ? return pq->head->data;
}

//查找隊尾元素
QDataType QueueBack(Que* pq)
{
? ? assert(pq);
? ? assert(!QueueEmpty(pq));

? ? return pq->tail->data;
}

5.判空以及長度計算函數的定義

//判斷是否為空
bool QueueEmpty(Que* pq)
{
? ? assert(pq);

? ? return pq->head == NULL;
}

//長度計算
int QueueSize(Que* pq)
{
? ? assert(pq);

? ? return pq->size;
}

(3)Test.c

1.頭文件的聲明

#include "Queue.h"

2.測試函數的定義

void QueueTest() {
? ? Que pq;
? ? QueueInit(&pq);
? ? QueuePush(&pq, 1);
? ? QueuePush(&pq, 2);
? ? QueuePush(&pq, 3);
? ? QueuePush(&pq, 4);
? ? QueuePush(&pq, 5);
? ? while (!QueueEmpty(&pq)) {
? ? ? ? printf("%d ", QueueFront(&pq));
? ? ? ? QueuePop(&pq);
? ? }
? ? QueueDestroy(&pq);
}

?

?

文章鏈接: http://m.qzkangyuan.com/26238.html

文章標題:數據結構之棧(四)

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程

數據結構之棧(三)

2023-12-22 10:05:17

建站教程投稿分享

c語言之fcfs

2024-1-29 13:08:26

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 四川省| 建瓯市| 邻水| 盱眙县| 科技| 河北省| 临颍县| 吉林省| 启东市| 淮北市| 汝阳县| 南溪县| 建宁县| 波密县| 常州市| 彭水| 宁德市| 黄陵县| 南投县| 公主岭市| 南丹县| 广南县| 高邑县| 梨树县| 三都| 苏尼特右旗| 定陶县| 资溪县| 大邑县| 科尔| 松阳县| 苍南县| 峡江县| 社旗县| 东乌珠穆沁旗| 弥勒县| 威海市| 永泰县| 鹿泉市| 福鼎市| 大方县|