📜  C++ STL中的双端队列resize()函数

📅  最后修改于: 2021-05-30 02:41:14             🧑  作者: Mango

deque :: resize()是C++ STL中的内置函数,可更改双端队列的大小。
如果给定的大小大于当前大小,则在双端队列的末尾插入新元素。
如果给定的大小小于当前大小,则多余的元素将被销毁。

句法:

deque_name.resize(n)

参数:该函数仅接受一个必填参数n ,该参数指定了双端队列的大小。

返回值:该函数不返回任何内容。

下面的程序说明了上述函数:

程序1:

// C++ program to illustrate the
// deque::resize() function
#include 
using namespace std;
  
int main()
{
    deque dq = { 10, 20, 30, 40, 50 };
  
    cout << "Size before resize " << dq.size() << "\n";
  
    // Prints the deque elements
    cout << "The contents of deque :";
    for (auto it = dq.begin(); it != dq.end(); ++it)
        cout << *it << " ";
  
    cout << endl;
  
    // resize to 7
    dq.resize(7);
  
    // // Prints the deque elements after resize()
    cout << "Size after resize " << dq.size() << "\n";
  
    cout << "The contents of deque :";
    for (auto it = dq.begin(); it != dq.end(); ++it)
        cout << *it << " ";
  
    return 0;
}
输出:
Size before resize 5
The contents of deque :10 20 30 40 50 
Size after resize 7
The contents of deque :10 20 30 40 50 0 0

程式2:

// C++ program to illustrate the
// deque::resize() function
#include 
using namespace std;
  
int main()
{
    deque dq = { 10, 20, 30, 40, 50 };
  
    cout << "Size before resize " << dq.size() << "\n";
  
    // Prints the deque elements
    cout << "The contents of deque :";
    for (auto it = dq.begin(); it != dq.end(); ++it)
        cout << *it << " ";
  
    cout << endl;
  
    // resize to 3
    dq.resize(3);
  
    cout << "Size after resize " << dq.size() << "\n";
  
    cout << "The contents of deque :";
    for (auto it = dq.begin(); it != dq.end(); ++it)
        cout << *it << " ";
  
    return 0;
}
输出:
Size before resize 5
The contents of deque :10 20 30 40 50 
Size after resize 3
The contents of deque :10 20 30

时间复杂度: O(N)

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”