C++ queue遍歷有沒(méi)有簡(jiǎn)便方法

c++
小樊
100
2024-06-26 10:40:52

C++ 標(biāo)準(zhǔn)庫(kù)中的隊(duì)列(queue)類(lèi)并沒(méi)有提供直接的遍歷方法,但是可以通過(guò)循環(huán)和隊(duì)列的成員函數(shù)來(lái)實(shí)現(xiàn)遍歷。下面是一個(gè)簡(jiǎn)單的例子:

#include <iostream>
#include <queue>

int main() {
    std::queue<int> q;
    
    q.push(1);
    q.push(2);
    q.push(3);
    
    // 遍歷隊(duì)列并輸出元素
    while (!q.empty()) {
        std::cout << q.front() << " ";
        q.pop();
    }
    
    return 0;
}

上面的代碼首先創(chuàng)建了一個(gè)隊(duì)列 q,往隊(duì)列中推入了三個(gè)整數(shù)元素。然后通過(guò)一個(gè)循環(huán),不斷地取隊(duì)首元素輸出,直到隊(duì)列為空為止。

如果需要多次遍歷隊(duì)列,可以使用一個(gè)臨時(shí)隊(duì)列或者復(fù)制一份原隊(duì)列來(lái)進(jìn)行遍歷,以避免破壞原隊(duì)列的數(shù)據(jù)結(jié)構(gòu)。

0