亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

設(shè)計(jì)一個(gè)隊(duì)列數(shù)據(jù)結(jié)構(gòu),在O(1)時(shí)間內(nèi)獲取最小或最大值

PHPz
發(fā)布: 2023-09-10 14:33:02
轉(zhuǎn)載
1360人瀏覽過

設(shè)計(jì)一個(gè)隊(duì)列數(shù)據(jù)結(jié)構(gòu),在o(1)時(shí)間內(nèi)獲取最小或最大值

C++ 有一個(gè) deque 頭文件,用于處理堆棧和隊(duì)列的屬性。在數(shù)據(jù)結(jié)構(gòu)中,解決O(1)時(shí)間復(fù)雜度的問題,需要常數(shù)時(shí)間。通過在該程序中使用雙端隊(duì)列,我們??獲得了同時(shí)使用堆棧和隊(duì)列的優(yōu)勢。

在本文中,我們將解決隊(duì)列數(shù)據(jù)結(jié)構(gòu),以在 O(1) 時(shí)間內(nèi)獲取數(shù)字的最小值或最大值。

語法

deque<data_type> name_of_queue;
登錄后復(fù)制

參數(shù)

  • deque - 這以雙端隊(duì)列而聞名,它訂購了與隊(duì)列等效的一組項(xiàng)目或數(shù)字。

  • data_type - 使用的數(shù)據(jù)類型,如 int、float 等

  • name_of_queue - 為隊(duì)列指定的任何名稱,如 ab、cd 等。

front()
登錄后復(fù)制

front()是C++ STL中的預(yù)定義函數(shù),它直接引用隊(duì)列的第一個(gè)索引位置。

back()
登錄后復(fù)制

back()是C++ STL中的預(yù)定義函數(shù),它直接引用隊(duì)列的最后一個(gè)索引位置。

push_back()
登錄后復(fù)制

push_back() 也是一個(gè)預(yù)定義函數(shù),用于從后面插入元素。

算法

  • 我們將使用頭文件 'iostream''deque' 啟動(dòng)程序。

    美間AI
    美間AI

    美間AI:讓設(shè)計(jì)更簡單

    美間AI45
    查看詳情 美間AI
  • 我們插入雙端隊(duì)列來處理數(shù)字的最大值或最小值。

    • “deque<int> dq” - 通過使用它,我們可以啟用堆棧和隊(duì)列的屬性

  • 從 for 循環(huán)開始,我們插入 1015 范圍內(nèi)的元素。然后使用名為 'push_back[i ]' 接受 'i' 作為參數(shù),使用 for 循環(huán)推送數(shù)組元素。

  • 然后,我們使用預(yù)定義函數(shù) front()back() 創(chuàng)建兩個(gè)變量來查找數(shù)字的最小值和最大值。 front() 查找第一個(gè)索引來表示最小數(shù)字,而 back() 查找最后一個(gè)索引來表示最大數(shù)字。

  • 現(xiàn)在我們正在初始化 for 循環(huán)來迭代索引號(hào)長度,并使用該長度將最小和最大元素的比較分類為 'dq[i]'。 因此,這將找出最小和最大數(shù)。

  • 最后,我們?cè)?b>'min_element'和'max_element'變量的幫助下打印最小和最大長度的輸出。

    李>

示例

在這個(gè)程序中,我們將解決隊(duì)列數(shù)據(jù)結(jié)構(gòu)以在 O(1) 時(shí)間內(nèi)獲得最小值和最大值。

#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq; 
   // double ended queue
   // insert elements into the deque using a loop
   for(int i = 10; i <= 15; i++) {
      dq.push_back(i);
   }
   // find the minimum and maximum elements
   int min_element = dq.front();
   int max_element = dq.back();

   for(int i = 1; i < dq.size(); i++) {
      if(dq[i] < min_element) {
         min_element = dq[i];
      }
      if(dq[i] > max_element) {
         max_element = dq[i];
      }
   }
   //Print the minimum and maximum elements
   cout << "Minimum element: " << min_element << endl;
   cout << "Maximum element: " << max_element << endl;
   return 0;
}
登錄后復(fù)制

輸出

Minimum element: 10
Maximum element: 15
登錄后復(fù)制

結(jié)論

我們探索了隊(duì)列數(shù)據(jù)結(jié)構(gòu)的概念來查找最小或最大元素。我們了解了 front() 和 back() 如何用于查找元素的最小值和最大值,還了解了如何將回推添加到索引元素的末尾。通過使用雙端隊(duì)列,我們??可以以 O(1) 的時(shí)間復(fù)雜度處理問題。

以上就是設(shè)計(jì)一個(gè)隊(duì)列數(shù)據(jù)結(jié)構(gòu),在O(1)時(shí)間內(nèi)獲取最小或最大值的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來源:tutorialspoint網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)