国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

第三章 棧與隊(duì)列

數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】,數(shù)據(jù)結(jié)構(gòu)

一、棧
1.定義:只允許一端進(jìn)行插入和刪除的線性表,結(jié)構(gòu)與手槍的彈夾差不多,可以作為實(shí)現(xiàn)遞歸函數(shù)(調(diào)用和返回都是后進(jìn)先出)調(diào)用的一種數(shù)據(jù)結(jié)構(gòu);

  • 棧頂:允許插入刪除的那端;
  • 棧底:固定的,不允許插入或刪除;
  • 空棧:不含元素;

2.特點(diǎn):后進(jìn)先出;
3.操作:入棧(push)、出棧(pop)
4.應(yīng)用:遞歸、進(jìn)制轉(zhuǎn)換、迷宮求解、括號匹配。
5.棧的順序存儲(順序棧)

  • 定義:利用一組地址連續(xù)的存儲單位存放自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)用一指針指示棧頂位置;
  • 棧頂指針:S.top,初始值=-1,棧頂元素S.data[S.top]; 進(jìn)棧操作:棧不滿時(shí),棧頂指針+1,再送棧到棧頂元素;
  • 出棧操作:棧非空時(shí),先取棧頂元素值,再將棧頂指針-1;
  • ??諚l件:S.top=-1;棧滿條件:S.top==MaxSize-1;棧長:S.top+1。
    6.共享?xiàng)?/li>
  • 定義:兩共享?xiàng)9蚕硪粋€(gè)一維數(shù)組空間,兩個(gè)棧頂指針都指向棧頂元素,top=-1時(shí)0號棧為空,top1=MaxSize時(shí)1號棧為空;當(dāng)兩棧指針相鄰top1-top0=1時(shí),滿棧;共享?xiàng)J菫榱烁玫睦么鎯臻g,兩個(gè)棧的空間相互調(diào)節(jié),只有整個(gè)存儲空間都被占滿時(shí)才發(fā)生上溢。
    數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】,數(shù)據(jù)結(jié)構(gòu)

7.鏈棧

  • 定義:采用鏈?zhǔn)酱鎯Φ臈#阌诙鄠€(gè)棧共享存儲空間和提高效率,且不存在棧滿上溢問題,采用單鏈表實(shí)現(xiàn),所有操作都在單鏈表表頭進(jìn)行,操作與鏈表相似;

二、隊(duì)列
1.定義:簡稱隊(duì),一種操作受限制的線性表,只允許在表的一端插入,在表另一端刪除。

  • 隊(duì)頭:允許刪除的一端,隊(duì)頭指針指向隊(duì)頭元素;
  • 隊(duì)尾:允許插入的一端,隊(duì)尾指針指向隊(duì)尾元素下一個(gè)位置;
  • 空隊(duì)列:無元素 ;
  • 初始條件(隊(duì)空條件):Q.frontQ.rear0,front隊(duì)頭,rear隊(duì)尾;
  • 假溢出:一維數(shù)組隊(duì)列的尾指針已達(dá)到數(shù)組上界,不能入隊(duì),其實(shí)數(shù)組中還有空位置;

2.特點(diǎn):先進(jìn)先出(怎么進(jìn)怎么出);
3.應(yīng)用:緩沖區(qū)、頁面替換算法;
4.操作:進(jìn)隊(duì)(隊(duì)不滿時(shí),先送值到隊(duì)尾元素,隊(duì)尾指針+1);出隊(duì)(隊(duì)不空時(shí),先取隊(duì)頭元素值,隊(duì)頭指針+1);
5.循環(huán)隊(duì)列:把存儲隊(duì)列元素的表從邏輯上看成一個(gè)環(huán),循環(huán)隊(duì)列的引入是為了防止假溢出;
數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】,數(shù)據(jù)結(jié)構(gòu)

  • 初始時(shí):Q.front=Q.rear=0;
  • 隊(duì)首指針進(jìn)1(出隊(duì)):Q.front=(Q.front+1)%MaxSize;
  • 隊(duì)尾指針進(jìn)1(入隊(duì)):Q.rear=(Q.rear+1)%MaxSize;
  • 隊(duì)列長度(隊(duì)列中元素個(gè)數(shù)):(Q.rear-Q.front+MaxSize)%MaxSize【(尾-頭+M)%M】;
  • 隊(duì)空:Q.frontQ.rear0;
  • 隊(duì)滿:(Q.rear+1)%MaxSize==Q.front;
  • 出隊(duì)入隊(duì)指針按順時(shí)針進(jìn)1;
  • 例題:循環(huán)隊(duì)列存儲在數(shù)組A[0…n]中,則入隊(duì)操作為rear=(rear+1)mod(n+1)。
    6.鏈隊(duì)列:同時(shí)帶隊(duì)頭指針和隊(duì)尾指針的單鏈表,無假溢出現(xiàn)象;
    數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】,數(shù)據(jù)結(jié)構(gòu)

7.雙端隊(duì)列:允許兩邊都可以入隊(duì)和出隊(duì)。文章來源地址http://www.zghlxwxcb.cn/news/detail-607343.html

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu)--棧和隊(duì)列

    數(shù)據(jù)結(jié)構(gòu)--棧和隊(duì)列

    棧是一種常見的數(shù)據(jù)結(jié)構(gòu),它遵循 后進(jìn)先出LIFO (Last In First Out)的原則。 進(jìn)行數(shù)據(jù)插入和操作的一端稱為棧頂,另一端稱為棧底 。 壓棧 :棧的插入操作被稱為壓棧/進(jìn)棧/入棧,入數(shù)據(jù)在棧頂。 出棧 :棧的刪除操作。出數(shù)據(jù)也在棧頂; ??梢杂?數(shù)組 或者是 鏈表 來實(shí)現(xiàn);

    2024年02月09日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)---棧和隊(duì)列

    棧:一種特殊的線性表,其只允許在固定的一端進(jìn)行插入和刪除元素操作,進(jìn)行數(shù)據(jù)插入和刪除操作的一端稱為棧頂,另一端稱為棧底。棧中的數(shù)據(jù)元素遵守后進(jìn)先出LIFO(Last In First Out)的原則。 壓棧:棧的插入操作叫做進(jìn)棧/壓棧/入棧,入數(shù)據(jù)在棧頂。 出棧:棧的刪除操作

    2024年01月18日
    瀏覽(35)
  • 數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】

    數(shù)據(jù)結(jié)構(gòu)【棧和隊(duì)列】

    一、棧 1.定義:只允許一端進(jìn)行插入和刪除的線性表,結(jié)構(gòu)與手槍的彈夾差不多,可以作為實(shí)現(xiàn)遞歸函數(shù)(調(diào)用和返回都是后進(jìn)先出)調(diào)用的一種數(shù)據(jù)結(jié)構(gòu); 棧頂:允許插入刪除的那端; 棧底:固定的,不允許插入或刪除; 空棧:不含元素; 2.特點(diǎn):后進(jìn)先出; 3.操作:入

    2024年02月15日
    瀏覽(26)
  • 數(shù)據(jù)結(jié)構(gòu)——棧和隊(duì)列

    數(shù)據(jù)結(jié)構(gòu)——棧和隊(duì)列

    目錄 ?一.前言 二.前文回顧 三.棧 3.1 棧的概念及結(jié)構(gòu) 3.2 棧的實(shí)現(xiàn) 3.2.1 初始化函數(shù) 3.2.2 銷毀函數(shù) 3.2.3 入棧函數(shù) 3.2.4 出棧函數(shù) 3.2.5 計(jì)算大小函數(shù) 3.2.6 空棧函數(shù) 3.2.7 獲取棧頂函數(shù) ?3.2.8 小測試 3.3 全部代碼 四.棧的練習(xí) 4.1 有效的括號 五.隊(duì)列 5.1隊(duì)列的概念及結(jié)構(gòu) 5.2 隊(duì)列的實(shí)

    2024年01月25日
    瀏覽(22)
  • 【數(shù)據(jù)結(jié)構(gòu)】棧和隊(duì)列(鏈表模擬隊(duì)列)

    【數(shù)據(jù)結(jié)構(gòu)】棧和隊(duì)列(鏈表模擬隊(duì)列)

    ? 學(xué)習(xí)本章節(jié)必須具備 單鏈表的前置知識, 建議提前學(xué)習(xí):點(diǎn)擊鏈接學(xué)習(xí):單鏈表各種功能函數(shù) 細(xì)節(jié) 詳解 本章節(jié)是學(xué)習(xí)用 單鏈表模擬隊(duì)列 1. 單鏈表實(shí)現(xiàn)隊(duì)列 思路如下 隊(duì)列:只允許在一端進(jìn)行插入數(shù)據(jù)操作,在另一端進(jìn)行刪除數(shù)據(jù)操作的特殊線性表,隊(duì)列具有先 進(jìn)先出

    2024年04月27日
    瀏覽(23)
  • 考研數(shù)據(jù)結(jié)構(gòu)--棧和隊(duì)列

    考研數(shù)據(jù)結(jié)構(gòu)--棧和隊(duì)列

    內(nèi)容 棧 :棧的抽象數(shù)據(jù)類型定義、棧的存儲表示及基本操作實(shí)現(xiàn)、棧的應(yīng)用 棧的定義(特點(diǎn)) 棧是一種后進(jìn)先出(LIFO)的線性表,只能在一端進(jìn)行插入和刪除操作,這一端稱為棧頂,另一端稱為棧底。 打個(gè)比方: 有一個(gè)胡同很窄只能通過一輛車,而且是死胡同,只能從胡

    2023年04月19日
    瀏覽(24)
  • 數(shù)據(jù)結(jié)構(gòu)棧和隊(duì)列

    數(shù)據(jù)結(jié)構(gòu)棧和隊(duì)列

    3.1棧和隊(duì)列的定義和特點(diǎn) 棧和隊(duì)列是兩種常用的、重要的數(shù)據(jù)結(jié)構(gòu) 棧和隊(duì)列是限定插入和刪除只能在表的 “ 端點(diǎn) ”進(jìn)行的 線性表 棧和隊(duì)列是線性表的子集(是插入和刪除位置受限的線性表) 棧的應(yīng)用: ? 由于棧的操作具有 后進(jìn)先出 的固有特性,使得棧成為程序設(shè)計(jì)中

    2024年02月16日
    瀏覽(19)
  • 數(shù)據(jù)結(jié)構(gòu)3:棧和隊(duì)列

    數(shù)據(jù)結(jié)構(gòu)3:棧和隊(duì)列

    目錄 1.棧 1.1棧的概念及結(jié)構(gòu) ?1.2棧的實(shí)現(xiàn) 2.隊(duì)列 2.1隊(duì)列的概念及結(jié)構(gòu) ?2.2隊(duì)列的實(shí)現(xiàn) 2.3循環(huán)隊(duì)列 ?3.棧和隊(duì)列的面試題 4.概念選擇題 棧:一種特殊的線性表,其只允許在固定的一端進(jìn)行插入和刪除元素操作。 進(jìn)行數(shù)據(jù)插入和刪除的一端稱為棧頂,另一端稱為棧底。 棧中數(shù)

    2023年04月27日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)】棧和隊(duì)列(棧篇)

    【數(shù)據(jù)結(jié)構(gòu)】棧和隊(duì)列(棧篇)

    目錄 1.棧的概念及結(jié)構(gòu) 2.棧的實(shí)現(xiàn) 2.1棧的結(jié)構(gòu)體定義 2.2棧的常用接口函數(shù) ??棧的初始化 ??插入數(shù)據(jù) ??刪除數(shù)據(jù) ??取棧頂元素 ??判斷棧是否為空 ??計(jì)算棧的大小 ??棧的銷毀 2.3完整的代碼 ?3.與棧有關(guān)的面試題 棧: 一種特殊的線性表,其只允許在固定的一端進(jìn)行插入

    2024年02月12日
    瀏覽(34)
  • 【數(shù)據(jù)結(jié)構(gòu)】2.棧和隊(duì)列

    【數(shù)據(jù)結(jié)構(gòu)】2.棧和隊(duì)列

    【數(shù)據(jù)結(jié)構(gòu)】1.線性表的數(shù)組描述和鏈?zhǔn)矫枋?- imXuan - 博客園 (cnblogs.com) 【數(shù)據(jù)結(jié)構(gòu)】1.線性表的數(shù)組描述和鏈?zhǔn)矫枋?- imXuan - 博客園 (cnblogs.com) 隊(duì)列由一個(gè)數(shù)組來描述,隊(duì)首指針是隊(duì)首的前一個(gè)元素,隊(duì)尾指針是隊(duì)尾所在元素,當(dāng)隊(duì)首和隊(duì)尾指針重疊時(shí)表示隊(duì)列為空;當(dāng) (隊(duì)

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包