色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是隊列?不受類型限制的隊列如何實現

冬至配餃子 ? 來源:最后一個bug ? 作者:bug菌 ? 2022-08-12 09:22 ? 次閱讀

1、初識size_t

這里可能大部分都不太知道有size_t這樣的一個數據類型,可以說該類型是英文size type的一個縮寫,它是一種記錄數據大小的數據類型(可以認為是一種整形數據)。其實我們經常使用的sizeof()的返回值數據類型就是size_t,只是我們常常用一個整形比如int來保存返回值。

值得我們注意得是:

sizeof類型是一個與操作系統相關得數據類型,它主要是為了提高C語言的可移植性和可讀性而加入的,可以說它并不是一種基本的數據類型,而且在頭文件中用typedef來重命名的數據類型。其實在我們平時很多地方都用到了size_t,比如:

poYBAGL1qh6AYh20AAAj7JvUFGA004.png

我們使用的時候幾乎都用整形比如int變量來使用,并沒有使用到size_t類型,所以說盡管我們的int依賴于C編譯器,有些情況size_t并不是固定的,如果我們用基本類型替換可能帶來數據類型過小或者過大的問題,過小可能會導致數據溢出問題,過大可能導致運行速度降低!
size_t的使用:只要是用到sizeof等返回值,或者傳入值的變量都定義為size_t類型!

2、什么是隊列?

隊列—

一種特殊的操作受限制得線性表,用戶僅允許在線性表的頭部獲取數據,在尾部插入數據,所以大家也叫FIFO(先進先出)線性表。

形象一點的表達

:類似于一隊人排隊鉆進一根只能進入一個人的管子,先進去的人先出來,后面的人只能在從同一個口子進入!

隊列的類型:

順序隊列和循環隊列。順序隊列,出隊列指針必須>或者=入隊列指針,否則容易出現假溢出現象;而循環隊列只要入隊列指針與出隊列指針不再次重合就不回溢出!

3、不受類型限制的隊列實現

首先我們先貼上剛剛寫好的Queue.h和Queue.c文件

poYBAGL1qnqAMV7gAAFKVcP9Sws614.png

pYYBAGL1qoGAYmiJAAFDHSF_4Hc866.png

poYBAGL1qoaACHUeAAESAE9aqkQ694.png

pYYBAGL1qo2AYiJoAAC53sBnHt8401.png

poYBAGL1qrqAIybVAADqgoePl0s061.pngpoYBAGL1qsGAbHMXAADP9acB7uY706.png

解析代碼:

1)節點數據結構中采用void類型的指針,能夠指向任意數據類型來擴展我們的隊列。

2)隊列數組順序隊列,我們可以通過修改擴展變成循環隊列,便于我們使用。

3)具體的使用可以參考上面的例子進行開發。

4、隊列的應用

1)隊列可以作為一種數據緩沖,當我們的數據無法實時進行發送的時候,可以進行適當的隊列緩沖,集中到一定的數據,然后進行打包發送。

2)隊列可以實現任務之間的一個信息交互,可以解決一些多線程問題,實現一種任務之間的異步處理。

3)由于是隊列的一個先進先出特點,我們也可以利用隊列來嚴格的控制數據的順序。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8626

    瀏覽量

    151351
  • C語言
    +關注

    關注

    180

    文章

    7606

    瀏覽量

    137071
  • 多線程
    +關注

    關注

    0

    文章

    278

    瀏覽量

    20016
收藏 人收藏

    評論

    相關推薦

    JavaWeb消息隊列使用指南

    在現代的JavaWeb應用中,消息隊列(Message Queue)是一種常見的技術,用于異步處理任務、解耦系統組件、提高系統性能和可靠性。 1. 消息隊列的基本概念 消息隊列是一種應用程序對應
    的頭像 發表于 11-25 09:27 ?156次閱讀

    探索字節隊列的魔法:多類型支持、函數重載與線程安全

    探索字節隊列的魔法:多類型支持、函數重載與線程安全代碼難度指數:文章學習重點:參數宏的使用技巧一、引言在嵌入式系統和實時應用中,數據的傳輸和處理是至關重要的。字節隊列(ByteQueue)是一種重要
    的頭像 發表于 11-15 01:08 ?816次閱讀
    探索字節<b class='flag-5'>隊列</b>的魔法:多<b class='flag-5'>類型</b>支持、函數重載與線程安全

    為什么同一個隊列引用的全局變量,運行在兩個子vi中發現隊列數據丟失了

    我創建了一個隊列,然后將隊列引用做了個全局變量,運行在兩個子vi中,一個是只入隊列,另一個是只出隊列。但我發現,一個字vi數據入隊列成功,檢
    發表于 11-14 11:47

    嵌入式環形隊列與消息隊列實現原理

    嵌入式環形隊列,也稱為環形緩沖區或循環隊列,是一種先進先出(FIFO)的數據結構,用于在固定大小的存儲區域中高效地存儲和訪問數據。其主要特點包括固定大小的數組和兩個指針(頭指針和尾指針),分別指向隊列的起始位置和結束位置。
    的頭像 發表于 09-02 15:29 ?563次閱讀

    玩轉RT-Thread之消息隊列的應用

    在嵌入式系統開發中,實時處理串口和ADC數據是一項重要的任務。本文將介紹如何在RT-Thread實時操作系統中,利用消息隊列來同時處理來自串口和ADC的數據。通過這種方法,我們能夠高效地管理和處理
    的頭像 發表于 07-23 08:11 ?627次閱讀
    玩轉RT-Thread之消息<b class='flag-5'>隊列</b>的應用

    freertos啟用IAR自帶插件調試時不能查看隊列信息怎么解決?

    在IAR平臺上調試freertos,想利用IAR自帶的freertos插件進行調試,但是只能看task的信息,不能看隊列信息顯示
    發表于 05-07 06:54

    嵌入式實時操作系統中的隊列管理與應用

    任務 A 將信息存入隊列,任務B以先進先出的方式提取信息。隊列通常應足夠大,可以承載許多數據,而不僅僅承載單個數據項。因此,它可以充當緩沖或暫存器,為管道提供靈活性。
    發表于 04-30 14:27 ?609次閱讀
    嵌入式實時操作系統中的<b class='flag-5'>隊列</b>管理與應用

    Freertos隊列項里的字節長度是否可以獲取?

    最近剛學Freertos, 看到可以獲取Freertos隊列長度,但是隊列項里的字節長度是否可以獲取? 因為項目中隊列中會存放不定長字節,需要對隊列中的數據分揀,每次分揀的時候遍歷所
    發表于 04-29 07:17

    freertos隊列錯亂是什么原因導致的?

    最近調試//發送兩個隊列 xResult = xSemaphoreTake(xSemaphore, (TickType_t)1); if(xResult == pdTRUE
    發表于 04-26 06:20

    用FreeRTOS使用隊列怎么發送一個結構體呢?

    在函數osMessageGet 只能返回一個4個字節啊。在xQueueReceive它只傳了一個uint32_tv啊,只有四個字節。 那就限制了最大的數據就是四個字節了,感覺應該不會是這樣啊,那么我
    發表于 04-17 07:35

    進程間通信的消息隊列介紹

    消息隊列是一種非常常見的進程間通信方式。
    的頭像 發表于 04-08 17:27 ?314次閱讀

    MCU專屬隊列功能模塊之QueueForMcu應用

    當需要從隊列頭部獲取多個數據,但又不希望數據從隊列中刪除時,可以使用 Queue_Peek_Array 函數來實現,該函數的參數與返回值與 Queue_Pop_Array 完全相同。
    發表于 03-20 11:44 ?520次閱讀
    MCU專屬<b class='flag-5'>隊列</b>功能模塊之QueueForMcu應用

    TC399 adc能添加到同一個隊列中并得到結果嗎?加入隊列是否有任何限制

    添加到隊列中并得到結果。 我的疑問是,有了這些不同的頻道和組,我還能把它們添加到同一個隊列中并得到結果嗎?加入隊列是否有任何限制
    發表于 03-04 06:33

    裸機中環形隊列與RTOS中消息隊列有何區別呢?

    “環形隊列”和“消息隊列”在嵌入式領域有應用非常廣泛,相信有經驗的嵌入式軟件工程師對它們都不陌生。
    的頭像 發表于 01-26 09:38 ?725次閱讀
    裸機中環形<b class='flag-5'>隊列</b>與RTOS中消息<b class='flag-5'>隊列</b>有何區別呢?

    labview 隊列最前端插入的應用

    起到很多作用。本文將詳細介紹LabVIEW隊列的應用,特別是在最前端插入數據的情況下。 首先,讓我們了解LabVIEW隊列的基本概念。隊列是一種數據結構,允許在一端插入元素,并在另一端刪除元素。在LabVIEW中,
    的頭像 發表于 01-08 11:45 ?1214次閱讀
    主站蜘蛛池模板: 亚洲一区二区免费看| 钉钉女老师| 国精产品一区一区三区有| 亚洲 欧美 国产在线视频| 黄片a级毛片| 91交换论坛| 色中色成人论坛| 国内精品偷拍在线观看| 一级做a爰片久久毛片一| 男人吃奶摸下挵进去啪啪| 不卡无线在一二三区| 午夜日本大胆裸艺术| 久久精品在现线观看免费15| 老太脱裤子让老头玩xxxxx| 午夜国产福利| 久久精品亚洲AV高清网站性色| 7777色鬼xxxx欧美色夫| 日本一本在线播放| 精品美女国产互换人妻| 99RE8国产这里只有精品| 天天夜夜草草久久亚洲香蕉| 国语自产视频在线| 99re精品视频在线播放视频| 熟女啪啪白浆嗷嗷叫| 久久精品电影| 多肉np一女多男高h爽文现代| 亚洲精品高清中文字幕完整版| 男女边吃奶边做边爱视频| 国产人妻777人伦精品HD| 97国产精品视频在线观看| 星空无限传媒视频在线观看视频 | 野花社区WWW韩国日本| 欧美午夜免费观看福利片| 韩国成人理伦片免费播放| 哺乳溢出羽月希中文字幕| 在线视频 国产精品 中文字幕| 帅哥操帅哥| 欧美性黑吊xxx| 久久天天婷婷五月俺也去| 国产精品亚洲第一区二区三区| 97色伦图片97色伦图影院久久|