【栈】栈的基本操作实现模板的总结

本文深入讲解了栈数据结构的基本操作,包括清空、获取元素个数、判空、进栈、出栈及取栈顶元素,并介绍了栈在C++中的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、栈的应用

栈是一种先进后出(FILO)的数据结构

  1. 清空(clear):

    /*栈的清空操作就是把栈顶top置为-1*/
    void clear(){
        top=-1;
    }
    /*清空栈,由于没有直接用于清空栈的元素,所以使用while和pop组合*/
    while(!st.size()) st.pop();

     

  2. 获取栈内元素个数(size):

    /*由于栈顶指针top始终指向栈顶元素,而下标是从0开始的,所以栈内元素要把top+1*/
    
    int size(){
        return top+1;
    }
  3. 判空(empty):

    /*由栈顶指针top判断的定义可知,仅当top==-1是为空,返回true,否则返回false*/
    bool empty(){
        if(top==-1) return true; //栈空
        else return false;  //栈非空
    }
  4. 进栈(push):

    /*push(x)操作将元素x置于栈顶,由于top始终指向栈顶元素,所以需要把top+1然后再把x存入top位置*/
    void push(int x){
        st[++top]=x;
    }
  5. 出栈(pop):

    /*pop()操作将栈顶元素出栈,而事实上可以将栈顶指针-1来实现这个效果*/
    void pop(){
        top--;
    }
  6. 取栈顶元素(top):

    /*由于栈顶指针top始终指向栈顶元素,所以st[top]就是栈顶元素*/
    int top(){
        return st[top];
    }

stack的常见用法

栈,后进先出(FILO)

  1. stack的定义:
    /*
    
    定义一个stack需要添加头文件#include <stack>
    
    以及在头文件下方加上using namespace std;
    
    stack<int> st;
    */
    
    stack<int> st;

     

  2. stack容器内的元素访问:
    /*
    
    只能通过top()函数来访问栈顶元素
    
    */
    
    st.top();
  3. push()函数:
    /*
    
    push(x)将x入栈
    
    */
    
    st.push(1);
  4. top()函数:
    /*
    
    top()函数获得栈顶元素
    
    */
    
    st.top();
  5. pop()函数:
    /*
    
    使用pop()函数弹出栈顶元素
    
    */
    
    st.pop();
  6. empty()函数:
    /*
    
    empty()可以检测stack内是否为空,true为空,false为非空
    
    */
    
    if(st.enpty()==true)
  7. size()函数:
    /*
    
    通过size()函数来获得栈的元素个数
    
    */
    
    st.size();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_之桐_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值