在C ++ STL中使双端队列

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

什么是双端队列?

双端队列是双端队列,它是序列容器,在两端都提供扩展和收缩功能。队列数据结构允许用户仅在END插入数据,并从FRONT删除数据。让我们以在公交车站排队的类比为例,那里的人只能从END插入队列,而站在FRONT的人是第一个被移走的人,而在双头队列中,可以同时插入和删除数据结束。

什么是deque::shrink_to_fit()?

deque::shrink_to_fit()是C ++ STL中的内置函数,在<deque>头文件中声明。deque::shrink_to_fit()可以将双端队列容器的容量缩小到指定的适合大小,并删除所有超出适合范围的元素。当我们遇到大小问题或容器超出指定大小时,此功能非常有用。

语法

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

以上是 在C ++ STL中使双端队列 的全部内容, 来源链接: utcz.com/z/338377.html

回到顶部