中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

北京企業(yè)網(wǎng)站建設哪家服務好營銷頁面

北京企業(yè)網(wǎng)站建設哪家服務好,營銷頁面,網(wǎng)站建設征集通訊員的通知,自己制作網(wǎng)站該怎么做文章目錄前言一.什么是隊列,隊列的特點二、隊列相關操作隊列的相關操作聲明隊列的創(chuàng)建1.隊列的初始化2.對隊列進行銷毀3.判斷隊列是否為空隊列4.入隊操作5.出隊操作6.取出隊頭數(shù)據(jù)7. 取出隊尾數(shù)據(jù)8.計算隊伍的人數(shù)總結前言 本文章講述的是數(shù)據(jù)結構的特殊線性表——…

文章目錄

  • 前言
  • 一.什么是隊列,隊列的特點
  • 二、隊列相關操作
    • 隊列的相關操作聲明
    • 隊列的創(chuàng)建
    • 1.隊列的初始化
    • 2.對隊列進行銷毀
    • 3.判斷隊列是否為空隊列
    • 4.入隊操作
    • 5.出隊操作
    • 6.取出隊頭數(shù)據(jù)
    • 7. 取出隊尾數(shù)據(jù)
    • 8.計算隊伍的人數(shù)
  • 總結


前言

本文章講述的是數(shù)據(jù)結構的特殊線性表——隊列


一.什么是隊列,隊列的特點

隊列是數(shù)據(jù)結構中的一種特殊的線性表,它與棧不同,

在這里插入圖片描述
隊列的基本圖例如上圖:
顯然,隊列的特點就是:
先進先出
First In First Out
那么我們使用什么樣的方式來實現(xiàn)隊列呢?

基于隊列的特點,使用鏈表而不是數(shù)組來實現(xiàn)隊列是比較合適的
使用數(shù)組來實現(xiàn)隊列的缺點:

出隊時需要挪動數(shù)據(jù),效率不高。

使用鏈表來實現(xiàn)隊列的優(yōu)點:入隊出隊效率高,不需要挪動數(shù)據(jù)。
使用鏈表來進行入隊出隊時,就需要鏈接起來和釋放節(jié)點,所以我們最好定義頭指針和尾指針指向隊頭和隊尾。

把頭指針和尾指針放在一個結構體中,更方便操作,如下圖:

在這里插入圖片描述

二、隊列相關操作

隊列的相關操作聲明

void QueueInit(Queue* pq);//初始化隊列void QueueDestroy(Queue* pq);//銷毀隊列void QueuePush(Queue* pq,QDataType x);//插入數(shù)據(jù)void QueuePop(Queue* pq);//刪除數(shù)據(jù)int QueueSize(Queue* pq);//記錄隊列有多少人bool QueueEmpty(Queue* pq);//判斷隊列是否為NULLQDataType QueueFront(Queue* pq);//取出隊頭數(shù)據(jù)QDataType QueueBack(Queue* pq);//取出隊尾數(shù)據(jù)

隊列的創(chuàng)建


#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>typedef int QDataType;
//隊列更適合用鏈表寫,因為如果用順序表來寫,出列的時候需要挪動數(shù)據(jù)typedef struct QueueNode
{QDataType data;struct QueueNode* next;
}QNode;
//隊伍的每個人的結構體typedef struct Queue
{struct QueueNode* head;struct QueueNode* tail;
}Queue;
指向隊頭和隊尾的兩個指針放在一個結構體里面

1.隊列的初始化

void QueueInit(Queue* pq)
{assert(pq);pq->head = pq->tail = NULL;
}

初始化指向隊頭和隊尾的兩個指針為NULL

2.對隊列進行銷毀

void QueueDestroy(Queue* pq)
{assert(pq);QNode* cur = pq->head;while (cur){QNode* next = cur->next;free(cur);cur = next;}pq->head = pq->tail = NULL;
}

3.判斷隊列是否為空隊列

bool QueueEmpty(Queue* pq)
{assert(pq);return pq->head == NULL;
}

4.入隊操作

解讀:隊列的實現(xiàn)方式是鏈表,不需要檢查容量不足,每入隊一個人就申請一個節(jié)點即可

void QueuePush(Queue* pq, QDataType x)
{assert(pq);QNode* newnode = (QNode*)malloc(sizeof(QNode));assert(newnode != NULL);newnode->data = x;newnode->next = NULL;if (pq->head == NULL){pq->head = pq->tail = newnode;}//第一次入隊的時候,就作為隊頭,頭指針指向它pq->tail->next = newnode;pq->tail = newnode;}

5.出隊操作

//記住隊列是先進先出,所以隊頭先出
void QueuePop(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));//隊頭為空,說明刪完了QNode* newhead = pq->head->next;//先記錄隊頭的下一個人//刪到最后的時候,tail沒有置空,是野指針,所以這里要判斷if (newhead == NULL){pq->tail = NULL;}free(pq->head);pq->head = newhead;
}

6.取出隊頭數(shù)據(jù)

注意出隊的時候,并沒有拿出該人數(shù)的節(jié)點的值

QDataType QueueFront(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->head->data;
}

7. 取出隊尾數(shù)據(jù)

QDataType QueueBack(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->tail->data;
}

8.計算隊伍的人數(shù)

int QueueSize(Queue* pq)
{assert(pq);int size = 0;QNode* cur = pq->head;while (cur){++size;cur = cur->next;}return size;
}

總結

文章講述簡單隊列的實現(xiàn),復雜隊列后續(xù)會講。

http://www.risenshineclean.com/news/44866.html

相關文章:

  • 知名網(wǎng)站建設官網(wǎng)網(wǎng)站性能優(yōu)化方法
  • 360免費做網(wǎng)站凡科建站怎么導出網(wǎng)頁
  • 重慶網(wǎng)站排名公司友情鏈接免費發(fā)布平臺
  • 建設獨立網(wǎng)站的公司嗎長沙seo培訓
  • 南寧企業(yè)網(wǎng)站建站模板中文網(wǎng)站排名
  • 租車網(wǎng)站建設2345網(wǎng)址大全下載到桌面
  • jq 網(wǎng)站頭部廣告代碼大學生創(chuàng)新創(chuàng)業(yè)大賽
  • 網(wǎng)站集群怎么做網(wǎng)絡運營推廣合作
  • 做效果圖兼職的網(wǎng)站珠海網(wǎng)絡推廣公司
  • php網(wǎng)站開發(fā)演講稿鏈接搜索引擎
  • 深圳哪家網(wǎng)站建設的公司好蘋果cms永久免費全能建站程序
  • 什么網(wǎng)站做蜘蛛池廈門網(wǎng)絡推廣培訓
  • 北京南站附近的景點平臺推廣是什么工作
  • 專業(yè)網(wǎng)站建設價格網(wǎng)頁設計素材網(wǎng)站
  • 品牌網(wǎng)站建設9小蝌蚪9淘寶優(yōu)化
  • wordpress新建界面太原seo霸屏
  • 友情鏈接中有個網(wǎng)站域名過期了會影響seo系統(tǒng)培訓
  • 制作個人網(wǎng)站素材百度開戶公司
  • 尼樂清網(wǎng)站建設阿里網(wǎng)站seo
  • 正能量網(wǎng)站免費進入無需下載百度權重查詢
  • 雙井做網(wǎng)站的公司網(wǎng)絡整合營銷方案ppt
  • 網(wǎng)站建設要學哪些方面百度競價托管外包
  • 深圳羅湖住房和建設局網(wǎng)站鄭州外語網(wǎng)站建站優(yōu)化
  • 托者設計吧官網(wǎng)免費seo提交工具
  • 余姚的網(wǎng)站建設游戲推廣文案
  • 網(wǎng)站seo 優(yōu)化百度快速seo
  • 動態(tài)網(wǎng)站建設優(yōu)缺點排超聯(lián)賽積分榜
  • dede網(wǎng)站怎么做404頁面win10優(yōu)化大師
  • 做的網(wǎng)站怎么打開是白板seo顧問多少錢
  • 網(wǎng)站銷售系統(tǒng)怎么做河南網(wǎng)站優(yōu)化公司