当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ Deque shrink_to_fit用法及代码示例


在本文中,我们将讨论 deque::shrink_to_fit() 函数在 C++ STL 中的工作、语法和示例。

什么是德克?

Deque 是双端队列,是序列容器,提供两端扩展和收缩的函数。队列数据结构允许用户仅在 END 插入数据并从 FRONT 删除数据。让我们以公交车站的队列进行类比,其中人只能从 END 插入队列,站在 FRONT 的人最先被移除,而在双端队列中,可以在两个队列中插入和删除数据结束。

什么是双端队列::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

相关用法


注:本文由纯净天空筛选整理自Sunidhi Bansal大神的英文原创作品 Deque shrink_to_fit in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。