CSP-J 2022 备战——栈的使用

 

 

CSP-J的比赛好像近在眼前了

仔细想想,前几周学的东西,还是太脱离普及组

接下来,就准备开始复习一些基础算法和数据结构

争取拿下一等奖

那么,下面是有关栈的笔记

特点:先进后出

支持操作:

push(压入):将数据存入栈中

pop(弹出):将数据从栈中丢弃

empty:判断栈是否为空。若为空则返回ture,反之返回false

top:获得栈顶信息

size:获得栈中元素的个数

头文件:#include <stack

使用方法:

stack<数据类型> 变量名;

变量名.操作函数();

数组实现:

这个既是重点,也是难点

我们用数组x来模拟栈,用h表示它的头,用t表示它的尾

初始化将h和t都赋值为0

//push:
void push(int n)
{
    x[t]=n;
    t++;
}
//pop:
void pop()
{
        t--; 
}
//empty:
bool empty()
{
      return h==t;
}
//top:
int top()
{
      return x[t];
}
//size:
int size()
{
      return t;
}
posted @ 2022-08-12 18:03  美索maysoul  阅读(159)  评论(0)    收藏  举报