C ++ STL中的stack empty()和stack size()
在本文中,我们将讨论C++STL中stack::empty()和stack::size()函数的工作,语法和示例。
什么是C++STL中的堆栈?
堆栈是将数据存储在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