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


C++ vector::empty()、vector::size()用法及代碼示例

向量與動態數組相同,具有在插入或刪除元素時自動調整自身大小的能力,並且容器自動處理其存儲。

vector::empty()

empty()函數用於檢查向量容器是否為空。

用法:


vectorname.empty()
參數:
No parameters are passed.
返回:
True, if vector is empty
False, Otherwise

例子:

Input :myvector = 1, 2, 3, 4, 5
         myvector.empty();
Output:False

Input :myvector = {}
         myvector.empty();
Output:True

錯誤和異常

1.它沒有異常拋出保證。
2.傳遞參數時顯示錯誤。

// CPP program to illustrate 
// Implementation of empty() function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    vector<int> myvector{}; 
    if (myvector.empty()) { 
        cout << "True"; 
    } 
    else { 
        cout << "False"; 
    } 
    return 0; 
}

輸出:

True

應用:
給定一個整數列表,找到所有整數的總和。

Input :1, 5, 6, 3, 9, 2
Output:26
Explanation -  1+5+6+3+9+2 = 26

算法

1.檢查向量是否為空,如果不是,則將back元素添加到初始化為0的變量中,然後彈出back元素。
2.重複此步驟,直到向量為空。
3.打印變量的最終值。

// CPP program to illustrate 
// Application of empty() function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    int sum = 0; 
    vector<int> myvector{ 1, 5, 6, 3, 9, 2 }; 
    while (!myvector.empty()) { 
        sum = sum + myvector.back(); 
        myvector.pop_back(); 
    } 
    cout << sum; 
    return 0; 
}

輸出:

26
vector::size()

size()函數用於返回向量容器的大小或向量容器中的元素數。

用法:


vectorname.empty()
參數:
No parameters are passed.
返回:
Number of elements in the container.

例子:

Input :myvector = 1, 2, 3, 4, 5
         myvector.size();
Output:5

Input :myvector = {}
         myvector.size();
Output:0

錯誤和異常

1.它沒有異常拋出保證。
2.傳遞參數時顯示錯誤。

// CPP program to illustrate 
// Implementation of size() function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    vector<int> myvector{ 1, 2, 3, 4, 5 }; 
    cout << myvector.size(); 
    return 0; 
}

輸出:

5

Why is empty() preferred over size()

由於以下幾點,通常認為empty()函數優於size()函數:

  1. empty()函數不使用任何比較運算符,因此使用起來更方便
  2. 無論容器類型如何,empty()函數都是在恒定時間內實現的,而size()函數的某些實現則需要O(n)時間複雜度,例如list::size()。

應用:
給定一個整數列表,找到所有整數的總和。

Input :1, 5, 6, 3, 9, 2
Output:26
Explanation -  1+5+6+3+9+2 = 26

算法

1.檢查向量的大小是否為0,如果不是,則將back元素添加到初始化為0的變量中,然後彈出back元素。
2.重複此步驟,直到向量的大小變為0。
3.打印變量的最終值。

// CPP program to illustrate 
// Application of size() function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    int sum = 0; 
    vector<int> myvector{ 1, 5, 6, 3, 9, 2 }; 
    while (myvector.size() > 0) { 
        sum = sum + myvector.back(); 
        myvector.pop_back(); 
    } 
    cout << sum; 
    return 0; 
}

輸出:

26


相關用法


注:本文由純淨天空篩選整理自AyushSaxena大神的英文原創作品 vector::empty() and vector::size() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。