📜  C++ STL中的stack empty()和stack size()(1)

📅  最后修改于: 2023-12-03 14:39:52.148000             🧑  作者: Mango

C++ STL中的stack empty()和stack size()

在C++ STL中,stack是一个容器适配器,它是基于deque实现的后进先出(LIFO)的数据结构。stack提供了多个成员函数,包括empty()和size()。本文将介绍这两个成员函数的用法和示例。

stack empty()函数

stack empty()函数返回一个bool值,表示当前的stack是否为空。如果stack为空,则返回true,否则返回false。

下面是stack empty()函数的格式:

bool empty() const;

下面是一个示例程序,演示了如何使用empty()函数:

#include <iostream>
#include <stack>

using namespace std;

int main()
{
    stack<int> s;

    if (s.empty()) // 检查stack是否为空
        cout << "stack is empty" << endl;
    else
        cout << "stack is not empty" << endl;

    s.push(1); // 将元素1加入stack

    if (s.empty()) // 再次检查stack是否为空
        cout << "stack is empty" << endl;
    else
        cout << "stack is not empty" << endl;

    return 0;
}

输出:

stack is empty
stack is not empty
stack size()函数

stack size()函数返回stack中元素的数量。

下面是stack size()函数的格式:

size_t size() const;

下面是一个示例程序,演示了如何使用size()函数:

#include <iostream>
#include <stack>

using namespace std;

int main()
{
    stack<int> s;

    cout << "size of stack: " << s.size() << endl; // 输出stack中元素的数量

    s.push(1); // 将元素1加入stack
    s.push(2); // 将元素2加入stack

    cout << "size of stack: " << s.size() << endl; // 输出stack中元素的数量

    return 0;
}

输出:

size of stack: 0
size of stack: 2