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. | 它的迭代器有效性不會改變。 | 它的迭代器有效性不會改變。 |
相關用法
- C++ Deque::front()、deque::back()用法及代碼示例
- C++ Deque assign()用法及代碼示例
- C++ Deque at()用法及代碼示例
- C++ Deque back()用法及代碼示例
- C++ Deque begin()用法及代碼示例
- C++ Deque cbegin()用法及代碼示例
- C++ Deque cend()用法及代碼示例
- C++ Deque clear()用法及代碼示例
- C++ Deque crbegin()用法及代碼示例
- C++ Deque crend()用法及代碼示例
- C++ Deque emplace()用法及代碼示例
- C++ Deque emplace_front()用法及代碼示例
- C++ Deque empty()用法及代碼示例
- C++ Deque end()用法及代碼示例
- C++ Deque erase()用法及代碼示例
- C++ Deque insert()用法及代碼示例
- C++ Deque max_size()用法及代碼示例
- C++ Deque pop_back()用法及代碼示例
- C++ Deque pop_front()用法及代碼示例
- C++ Deque push_back()用法及代碼示例
- C++ Deque push_front()用法及代碼示例
- C++ Deque rbegin()用法及代碼示例
- C++ Deque rend()用法及代碼示例
- C++ Deque resize()用法及代碼示例
- C++ Deque shrink_to_fit()用法及代碼示例
注:本文由純淨天空篩選整理自AyushSaxena大神的英文原創作品 Deque::empty() and deque::size() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。