C++ STL 中的 stack empty() 和 stack size()
在本文中,我们将讨论 C++ STL 中 stack::empty() 和 stack::size() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Stack?
栈是一种数据结构,它以 LIFO(后进先出)的方式存储数据,我们从最后一个插入元素的顶部进行插入和删除操作。就像一叠盘子一样,如果我们想将一个新盘子推入栈中,我们将其插入到顶部;如果我们想从栈中移除一个盘子,我们也从顶部移除它。
什么是 stack::empty()?
stack::empty() 函数是 C++ STL 中的一个内置函数,它在 <stack> 头文件中定义。empty() 用于检查关联的容器是否为空,并相应地返回 true 或 false。
该函数检查容器是否为空,即容器的大小是否为 0。
语法
stack_name.empty();
参数
该函数不接受任何参数。
返回值
如果容器为空,则此函数返回 true,否则返回 false。
输入
std::stack<int> stack1; stack1.emplace(1); stack1.emplace(2); stack1.emplace(3); stack1.empty();
输出
false
输入
std::stack<int> stack2; stack2.empty();
输出
true
示例
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> stck;
int Product = 1;
stck.push(1);
stck.push(2);
stck.push(3);
stck.push(4);
stck.push(5);
stck.push(6);
while (!stck.empty()){
Product = Product * stck.top();
stck.pop();
}
cout<<"\nProduct of elements in stack are: "<<Product;
return 0;
}输出
如果我们运行上述代码,它将生成以下输出:
Product of elements in stack are: 720
什么是 stack::size()?
stack::size() 函数是 C++ STL 中的一个内置函数,它在 <stack> 头文件中定义。size() 用于检查关联容器的大小,并以整数值返回结果,该值是容器中元素的数量。
如果容器为空,则 size() 返回 0
语法
stack_name.size();
参数
该函数不接受任何参数。
返回值
此函数返回容器的大小
输入
std::stack<int> stack1; stack1.emplace(1); stack1.emplace(2); stack1.emplace(3); stack1.size();
输出
3
输入
std::stack<int> stack2; stack2.size();
输出
0
示例
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> stck;
int Product = 1;
stck.push(1);
stck.push(2);
stck.push(3);
stck.push(4);
stck.push(5);
stck.push(6);
cout<<"size of stack is: "<<stck.size();
while (stck.size()>0){
Product = Product * stck.top();
stck.pop();
}
cout<<"\nProduct of elements in stack are: "<<Product;
return 0;
}输出
如果我们运行上述代码,它将生成以下输出:
size of stack is: 6 Product of elements in stack are: 720
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP