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

更新于: 2020-04-22

5K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告