C ++ STL中的deque :: empty()和deque :: size()

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

什么是双端队列?

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

什么是deque::empty()?

deque::empty()是C ++ STL中的内置函数,在<deque>头文件中声明。deque::empty()检查给定的双端队列容器是否为空(大小为0),如果与该函数关联的容器为空,则返回true;如果该容器不为空,则返回false。

语法

mydeque.empty();

参数

此函数不接受任何参数

返回值

如果给定的双端队列容器为空或双端队列容器的大小为0,则此函数返回true;否则,如果双端队列中的某些元素与该函数相关联,或者容器的大小不为零,则该函数返回false。

示例

Input: deque<int> mydeque = {10, 20 30, 40};
      mydeque.empty();
Output:
      False
Input: deque<int> mydeque;
      mydeque.empty();
Output: True

示例

#include <deque>
#include <iostream>
using namespace std;
int main(){
   int product = 1;
   deque<int> Deque;
   //使用的push_back()函数中插入元件,以一个双端队列
   Deque.push_back(10);
   Deque.push_back(20);
   Deque.push_back(30);
   Deque.push_back(40);
   Deque.push_back(50);
   //traversing deque while it willn’t gets empty using empty() function
   while(!Deque.empty()){
      product = product * Deque.front();
      Deque.pop_front();
   }
   //检查双端队列是否为空
   if(Deque.empty()){
      cout<<"Deque is empty and hence product is : "<<product;
   } else {
      cout<<"Deque is not empty ";
   }
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Deque is empty and hence product is : 12000

什么是deque::size()?

deque::size()是C ++ STL中的内置函数,在头文件中声明。deque::size()返回与函数关联的双端队列容器的大小。如果容器没有元素,则该函数返回0。

语法

mydeque.size();

参数

此函数不接受任何参数

返回值

该函数返回一个无符号整数值,即容器中存在的元素数。

示例

Input: deque<int> mydeque = {10, 20 30, 40};
   mydeque.size();
Output:
   4
Input: deque<int> mydeque;
   mydeque.size();
Output: 0

示例

#include <deque>
#include <iostream>
using namespace std;
int main(){
   int product = 0;
   deque<int> Deque;
   //将元素插入双端队列
   Deque.push_back(10);
   Deque.push_back(20);
   Deque.push_back(30);
   Deque.push_back(40);
   Deque.push_back(50);
   //检查双端队列的大小
   cout<<"size of deque is : "<<Deque.size();
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Size of deque is: 5