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

c++server side programmingprogramming更新于 2024/11/10 15:02:00

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

什么是 Deque?

Deque 是双端队列,是一种序列容器,可在两端提供扩展和收缩功能。队列数据结构允许用户仅在末尾插入数据并从前端删除数据。让我们以公交车站的队列为例,一个人只能从队列的末尾插入队列,站在队列最前面的人是第一个被移除的人,而在双端队列中,数据的插入和删除都可以在两端进行。

什么是 deque::empty()?

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

语法

mydeque.empty();

参数

此函数不接受任何参数

返回值

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

示例

输入:deque<int> mydeque = {10, 20 30, 40};
      mydeque.empty();
输出:
      False
输入:deque<int> mydeque;
      mydeque.empty();
输出: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);
   //使用 empty() 函数遍历双端队列,直到它不会变空
   while(!Deque.empty()){
      product = product * Deque.front();
      Deque.pop_front();
   }
   //检查双端队列是否为空
   if(Deque.empty()){
      cout<<"双端队列为空,因此乘积为:<<<product;
   } else {
      cout<<"双端队列不为空";
   }
   return 0;
}

输出

如果我们运行上述代码,它将会生成以下输出 −

双端队列为空,因此乘积为:12000

什么是 deque::size()?

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

语法

mydeque.size();

参数

此函数不接受任何参数

返回值

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

示例

输入:deque<int> mydeque = {10, 20 30, 40};
   mydeque.size();
输出:
   4
输入:deque<int> mydeque;
   mydeque.size();
输出: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<<"双端队列的大小为 : "<<Deque.size();
   return 0;
}

输出

如果我们运行上述代码,它将生成以下输出 −

双端队列的大小为: 5

相关文章