美文网首页
顺序栈的操作

顺序栈的操作

作者: 无聊的CairBin | 来源:发表于2021-10-07 21:43 被阅读0次

栈的定义

#include <iostream>
#define MAXSIZE 1000

using namespace std;

//顺序栈
typedef struct
{
    int data[MAXSIZE];  //存放栈顶元素
    int top;            //栈顶指针
}SqStack;

栈的操作

初始化

//初始化顺序栈
bool initStack(SqStack &st)
{
    st.top = -1;
    return true;
}

判断为空

//判断栈是否为空
bool isEmpty(SqStack st)
{
    if(st.top == -1)
        return true;
    else
        return false;
}

入栈

bool pushStack(SqStack &st, int e)
{
    if(st.top == MAXSIZE - 1)
        return false;   //栈已满,再入栈会上溢
    //对于入栈,一定要先改指针再入
    st.top++;
    st.data[st.top] = e;
    return true;
}

出栈

bool popStack(SqStack &st, int &e)
{
    if(st.top == -1)
        return false;   //栈空不能继续出栈,否则下溢
    
    //对于出栈,先出元素再取指针
    e = st.data[st.top];
    st.top--;
    
    return true;
}

获取栈顶元素

//获取栈顶元素
bool getStackTopElem(SqStack st, int &e)
{
    if(st.top == -1)
        return false;   //栈空,无元素返回
    e = st.data[st.top];
    return true;
}

相关文章

  • 作业帮做-栈结构验证

    顺序栈操作验证 实验目的 掌握栈的顺序存储结构; 验证栈的操作特性; 掌握顺序栈的基本操作实现方法。 实验内容 建...

  • 栈和队列

    顺序栈的基本操作: 链栈的基本操作 顺序队的基本操作 链队的基本操作

  • 顺序栈的操作

    栈的定义 栈的操作 初始化 判断为空 入栈 出栈 获取栈顶元素

  • 2018-07-09顺序表实现栈

    栈的实现 ——直接用顺序表(列表list)进行 栈结构实现 栈可以用顺序表实现,也可以用链表实现。 栈的操作 St...

  • js栈的操作

    js模拟栈操作,输入两个数组,一个数组作为元素入栈顺序,另一个数组为出栈顺序,若出栈顺序符合入栈规则返回true

  • 数据结构之栈的链式存储结构

    之前写了栈的顺序存储结构,对栈的定义和操作进行了说明 数据结构之栈的顺序存储结构 现在接着写栈的链式存储结构 栈的...

  • 堆栈

    由于栈是一个有穷线性表,所以任何实现表的方法都能实现栈(list,vector...)基本操作 顺序栈 采用顺序存...

  • day2:栈与栈的应用

    栈的定义 一种先进后出的方式 栈的实现 一:顺序方式 应用Stack.java 二:链式方式 如栈操作: 出栈操作...

  • 数据结构实验1.4:栈和队列

    实验内容 : 1.采用链式存储实现栈的初始化、入栈、出栈操作。2.采用顺序存储实现栈的初始化、入栈、出栈操作。3....

  • 3. 栈的操作

    1. 栈的操作-c语言实现2. 栈操作的实现-顺序栈和链栈 3. 栈的实现与遍历4. c语言的函数调用栈5. 两个...

网友评论

      本文标题:顺序栈的操作

      本文链接:https://www.haomeiwen.com/subject/icttoltx.html