C++ STL 中的 deque::shrink_to_fit


本文將討論 C++ STL 中 deque::shrink_to_fit() 函式的工作原理、語法和示例。

什麼是 Deque?

Deque 是雙端佇列,是一種序列容器,可以在兩端進行擴充套件和收縮操作。佇列資料結構只允許使用者在末尾插入資料,在頭部刪除資料。讓我們以公交站的佇列為例,人們只能在佇列末尾插入,而站在佇列頭部的人第一個被移除;而在雙端佇列中,可以在兩端進行資料插入和刪除操作。

什麼是 deque::shrink_to_fit()?

deque::shrink_to_fit() 是 C++ STL 中的一個內建函式,宣告在 <deque> 標頭檔案中。deque::shrink_to_fit() 將 deque 容器的容量縮減到指定的合適大小,並移除所有超出此大小的元素。當遇到大小問題或容器超過指定大小時,此函式非常有用。

語法

mydeque.shrink_to_fit();

此函式不需要引數。

返回值

此函式不返回任何值。

示例

Input: deque<int> mydeque = {10, 20 30, 40, 0, 0, 0};
   mydeque.shrink_to_fit();
Output:
   Size of the mydeque = 40

示例

 線上演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   deque<int> Deque(50);
   cout<<"Initial size of Deque is : " << Deque.size();
   Deque.resize(40);
   cout<<"\nDeque size after resizing it : " << Deque.size() << endl;
   Deque.shrink_to_fit();
   return 0;
}

輸出

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

Initial size of Deque is : 50
Deque size after resizing it : 4

示例

 線上演示

#include <bits/stdc++.h>
using namespace std;
int main(){
   deque<int> Deque(10);
   for (int i = 0; i <= 5; i++)
   Deque[i] = i;
   cout<<"Initial size of Deque is: " << Deque.size();
   cout<<"\n Deque elements are: ";
   for (int i = 0; i <= 7; i++)
      cout << Deque[i] << " ";
   Deque.resize(10);
   cout << "\n After resizing deque size is : "<<Deque.size();
   cout << "\n Deque elements are: ";
   for (int i = 0; i < 10; i++)
      cout << Deque[i] << " ";
   Deque.shrink_to_fit();
   return 0;
}

輸出

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

Deque elements are: 0 1 2 3 4 5 0 0
After resizing deque size is : 10
Deque elements are: 0 1 2 3 4 5 0 0 0 0

更新於:2020年3月5日

199 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.