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


C++ Deque::empty()、deque::size()用法及代码示例


Deque或双端队列是序列containers,具有两端扩展和收缩的特性。它们与向量类似,但在末尾和开头插入和删除元素的情况下效率更高。与向量不同,双端队列中可能无法保证连续的存储分配。

deque::empty()

empty()函数用于检查双端队列容器是否为空。这是一个内置函数C++标准模板库(STL)。该函数属于<deque>头文件。该函数或者返回真的或者错误的,取决于双端队列是否为空。
用法:

dequename.empty()

返回:正确,如果双端队列为空。错误,否则

例子:

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False

错误和异常:

  • 如果传递参数则显示错误。
  • 显示没有异常抛出保证。

CPP


// CPP program to demonstrate
// Implementation of empty() function
#include <deque>
#include <iostream>
using namespace std;
// Driver Code
int main()
{
    deque<int> mydeque;
    mydeque.push_front(1);
    // deque becomes 1
    if (mydeque.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }
    return 0;
}
输出
False

时间复杂度:O(1)

辅助空间:O(1)

应用:deque::empty()

给定一个整数双端队列,求所有整数的总和。

Input : 1, 8, 3, 6, 2
Output: 20

算法:
1. 检查双端队列是否为空,如果不为空,则将前面的元素添加到初始化为0的变量中,并弹出前面的元素。
2. 重复此步骤,直到双端队列为空。
3. 打印变量的最终值。

CPP

输出
20

时间复杂度:O(1)

辅助空间:O(1)

deque::size()

size()函数用于返回双端队列容器的大小或双端队列容器中的元素数量。这是 C++ 标准模板库 (STL) 的内置函数。该函数属于<deque>头文件。该函数返回一个数字,表明双端队列在该实例中保存的元素总数。
用法:

dequename.size()

返回:容器中的元素数量。

例子:

Input :   mydeque = 0, 1, 2
          mydeque.size();
Output :  3
 
Input :   mydeque = 0, 1, 2, 3, 4, 5
          mydeque.size();
Output :  6

错误和异常:

  • 如果传递参数则显示错误。
  • 显示没有异常抛出保证。

CPP


// CPP program to demonstrate
// Application of size() function
#include <deque>
#include <iostream>
using namespace std;
// Driver Code
int main()
{
    int sum = 0;
    deque<int> mydeque;
    mydeque.push_back(1);
    mydeque.push_back(8);
    mydeque.push_back(3);
    mydeque.push_back(6);
    mydeque.push_back(2);
    // Deque becomes 1, 8, 3, 6, 2
    while (mydeque.size() > 0) {
        sum = sum + mydeque.front();
        mydeque.pop_front();
    }
    cout << sum;
    return 0;
}
输出
5

时间复杂度:O(1)

辅助空间:O(1)

应用:deque::size()

给定一个整数双端队列,求所有整数的总和。

Input : 1, 8, 3, 6, 2
Output: 20

算法:
1. 检查双端队列的大小是否为零,如果不为零,则将前面的元素添加到初始化为 0 的变量中,并弹出前面的元素。
2. 重复此步骤,直到双端队列大小变为0。
3. 打印变量的最终值。

CPP

输出
20

时间复杂度:O(1)

辅助空间:O(1)

Note: Basically, empty() function checks if the size() of the deque is zero or not. 

让我们看看表格形式的差异 -:

Deque::empty() deque::size()
1. 它用于检查双端队列容器是否为空。 它用于返回双端队列容器中的元素数量。
2.

它的语法是-:

empty();

它的语法是-:

size();

3. 它的返回类型是布尔值。 它的返回类型是整数。
4. 它的复杂性是恒定的。 它的复杂性是恒定的。
5. 它的迭代器有效性不会改变。 它的迭代器有效性不会改变。


相关用法


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