C++ Queue::operator=() 函式



C++ 的std::queue::operator=()函式用於將一個佇列中的元素複製到另一個佇列,同時保持正確的順序。呼叫此函式時,它會釋放目標佇列關聯的記憶體,然後從源佇列複製元素。此函式確保賦值後兩個佇列相互獨立,防止修改一個佇列影響另一個佇列。此函式的時間複雜度為線性 O(n)。

語法

以下是 std::queue::operator=() 函式的語法。

operator=( const queue<T,Container>& other )
or
operator=( queue<T,Container>&& other );

引數

  • other − 表示另一個相同型別的佇列物件。

返回值

此函式返回this指標。

示例

讓我們來看下面的例子,我們將一個佇列賦值給另一個佇列。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> x, y;
    x.push(1);
    x.push(22);
    y = x;
    while (!y.empty()) {
        std::cout << y.front() << " ";
        y.pop();
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

1 22

示例

考慮另一個場景,我們將空佇列賦值給另一個佇列。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> queue1, queue2;
    queue2 = queue1;
    std::cout << " Size after assigning:" << queue2.size() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Size after assigning:0

示例

在下面的例子中,我們將佇列賦值給自己,並觀察輸出。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> x;
    x.push(1);
    x.push(2);
    x = x;
    std::cout << "Size after assigning: " << x.size() << std::endl;
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

Size after assigning: 2
queue.htm
廣告
© . All rights reserved.