日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构与算法 / 队列(queue)

發(fā)布時間:2024/10/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构与算法 / 队列(queue) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
@time 2019-08-04 @author Ruo_Xiao

一、定義

? ? ? ? 隊列是一種操作受限的線性表,只能從一端插入從另一端彈出的數(shù)據(jù)結構。

二、特性

? ? ? ? 先進者先出,后進者后出。

三、分類

1、基于數(shù)組實現(xiàn)的隊列,名為順序隊列。實現(xiàn)一個有界隊列。

2、基于鏈表實現(xiàn)的隊列,名為鏈式隊列。實現(xiàn)一個無界隊列。

3、若隊列收尾相連,則該隊列名為循環(huán)隊列

4、阻塞隊列,在隊列中增加了阻塞操作的功能。

  • 當隊列為空,從隊頭取出元素,會堵塞在那里,直到有元素入隊,該操作才取出元素并返回。
  • 當隊列為滿,向隊尾插入元素,會堵塞在那里,直到有元素出隊,該操作才插入元素并返回。

5、并發(fā)隊列,線程安全的隊列。就是在 enqueue 和 dequeue 中加入鎖。

四、應用場景

1、線程池中,若線程不足,請求操作可以暫存在隊列中,依次等待線程池中有線程。

2、消息隊列,用于兩個模塊解耦、削峰、異步等操作。

五、實現(xiàn)(C++)

github

六、拓展

  • dueue,雙端隊列。
  • 在 STL 中,queue 的底層實現(xiàn)就是 dueue 。
  • 相較于 queue,
    • 既可以從隊尾壓入數(shù)據(jù)(push_back),也可以從隊首壓入數(shù)據(jù)(push_front)。
    • 既可以從隊尾彈出數(shù)據(jù)(pop_back),也可以從隊尾彈出數(shù)據(jù)(pop_front)。

    ?

    (SAW:Game Over!)

    總結

    以上是生活随笔為你收集整理的数据结构与算法 / 队列(queue)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。