C++ Deque::resize() 函式



C++ 的 std::deque::resize() 函式用於調整 deque 的大小。如果新大小大於當前大小,則 deque 會擴充套件,新元素將新增到末尾。類似地,如果新大小較小,則 deque 將被截斷,末尾的多餘元素將被移除。

此函式有兩個多型變體:使用預設值和值版本的變體(您可以在下面找到所有變體的語法)。

語法

以下是 std::deque::resize() 函式的語法。

void resize (size_type n);
or
void resize (size_type n, const value_type& val);

引數

  • n − 指示新容器的大小。
  • val − 指示容器元素的初始值。

返回值

此函式不返回任何值。

異常

如果重新分配失敗,則丟擲 bad_alloc 異常。

時間複雜度

此函式的時間複雜度為線性,即 O(n)

示例

在下面的示例中,我們將考慮 resize() 函式的基本用法。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    a.resize(4);
    for (auto& elem : a) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

0 0 0 0

示例

考慮以下示例,我們將調整 deque 的大小並賦值。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> x;
    x.resize(3, 'A');
    for (auto& elem : x) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

A A A

示例

讓我們看下面的例子,我們將使用 resize() 函式減小 deque 的大小。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a{1,12,23,34,45,56};
    a.resize(4);
    for (auto& elem : a) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

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

1 12 23 34 
deque.htm
廣告