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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。