C++ Stack size() 函数
C++ Stack size() 函数返回堆栈元素的数量。堆栈元素的数量被称为堆栈的大小。堆栈元素的大小是非常重要的信息,因为根据它我们可以推断出许多其他事情,比如所需的空间等等。
语法
size_type size() const
参数
该函数没有参数传递;它只是给出所参考的堆栈的大小。由于该函数用于获取关于堆栈大小的概念,因此程序中的参数没有任何用途。
返回值
返回堆栈中的元素数量,这是堆栈大小的度量。因此,该函数的返回类型为整数,因为大小是int值。
示例1
// 一个简单的C++示例,演示了在堆栈容器中使用size()函数。
#include <iostream>
#include <stack>
using namespace std;
int main()
{
std::stack<int> newstack;
std::cout << "0. size: "<< newstack.size();
for(int j=0; j<5; j++)
newstack.push(j);
cout<<"\n";
std::cout<<"1. size: " << newstack.size();
newstack.pop();
cout<<"\n";
std::cout<<"2. size: "<< newstack.size();
return 0;
}
输出:
0. size: 0
1. size: 5
2. size: 4
示例2
//一个简单的C++示例,展示了在堆栈容器中使用size()函数的用法。
#include <iostream>
#include <stack>
using namespace std;
int main()
{
std::stack<int> newstack;
newstack.push(23);
newstack.push(46);
newstack.push(69);
cout << newstack.size();
return 0;
}
输出:
3
示例3
// 一个简单的C ++示例,演示了在堆栈容器中使用size()函数的用法。
#include <iostream>
#include <stack>
int main()
{
std::stack<int> a,b;
a.push(5); a.push(8); a.push(50);
b.push(132); b.push(45);
std::cout<<"Size of a: "<<a.size();
std::cout<<"\n Size of b:" <<b.size();
return 0;
}
输出:
Size of a: 3
Size of b: 2
复杂度
函数的复杂度是常数,函数只返回栈的大小,即元素的数量。
数据竞争
函数访问容器。此函数访问整个栈容器以获取栈大小的值。由于大小是根据栈中存在的元素总数来测量的,因此整个容器至少被访问一次。
异常安全
提供了与对底层容器对象执行的操作等效的保证。