當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。