C++ stack容器-50-栈容器基本概念和常用接口

接着学习下一个容器,stack,栈容器。当然后面还要学习一个队列容器,两个有点相似一般一起对比和学习。本篇主要学习栈容器的基本概念和常用接口的基本使用。

 

1.什么是stack

stack是一种先进后出(First In Last Out)FILO的容器,它只有一个出口。

 

2.stack的特点

下面这张图给出栈的特点

C++ stack容器-50-栈容器基本概念和常用接口_第1张图片

栈中只有顶部元素运行外部使用,所以,栈容器没有遍历操作。

 

3.stack的常用API

根据上面这张图,栈就基本操作API都在顶部元素的入栈和出栈操作,还有统计元素个数和容量相关接口。

3.1 stack的构造函数

函数原型

stack stk;	                // 默认构造,采用模板类实现
stack(const stack &stk);	//拷贝构造函数

3.2 stack的赋值caoz

重载了等号(=)

3.3 stack的存取操作

push(ele);	//向栈顶添加元素
pop();	//从栈顶移除第一个元素
top();	//返回栈顶元素

3.4 stack大小

empty();  // 判断栈是否为空
size();	//返回栈的大小

代码练习

#include 
#include 
#include 
using namespace std;

void test01()
{
    // stack 构造函数
    stack stk;

    //添加元素
    cout << "is Empty? " << stk.empty() << endl;
    stk.push(10);
    stk.push(20);
    stk.push(30);
    stk.push(40);
    stk.push(50);

    //获取栈顶元素
    cout << "top element: " << stk.top() << endl;

    // 大小
    cout << "current size: " << stk.size() << endl;
    
    // 移除栈顶元素
    stk.pop();
    cout << "current size: " << stk.size() << endl;

}


int main()
{
    test01();
    system("pause");
    return 0;
}

运行结果

C++ stack容器-50-栈容器基本概念和常用接口_第2张图片

你可能感兴趣的:(C++学习笔记,c++,stack,栈)