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
广告