c++栈原理及代码实现(数组法)

目录

性质

结构定义

结构操作


性质

栈是一种后进先出(Last In First Out,LIFO)的线性表,后进入栈的元素会最先被弹出,根据栈的规则,我们只能对栈最顶部的元素进行处理。

结构定义

栈主要有两种实现方法,第一种是数组,第二种是链表。

这里使用清晰一点的数组法。

定义代码(c++):

struct stack{
    int data[105];//存放数据的数组
    int top;//栈顶部元素的坐标
    int size;//栈的实际占用元素数量
};

结构操作

 栈的结构操作有四个:                                                                                                                                        

1.push(加入新元素)

void push(int value)
{
    if(top>104) return;
    data[top]=value;
    size++;
    top++;
}

2.pop(弹出栈顶元素)

void pop()
{
    if(top<1) return;
    size--;
    top--;//如果再次插入,原来的就会被覆盖掉,不会出现还存在于数组里。
}

3.size(返回元素数量)

int size()
{
    return size;
}

4.top(返回栈顶元素)

int top()
{
    return data[top];
}

 制作不易,点赞+评论就是最大的支持!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值