02(数据结构考研)栈相关操作代码

简介: 02(数据结构考研)栈相关操作代码

❤️顺序栈进栈操作❤️

*******************************************************************************/
#include <stdio.h>
#define MAXSIZE 10//定义栈中元素的最大个数
typedef struct{
    ElemType data[MAXSIZE];
    int top;//栈顶指针
}SqStack;
//初始化顺序栈
bool Init_SeqStack(&S){
    if(s==NULL)
        return FALSE;
    s->top=NULL;//顺序栈置空操作
    return TRUE;
}
//顺序栈入栈操作
bool Push_SeqStack(SqStack &s,ElemType x){
    if(s->top==MAXSIZE-1)//如果满栈
        return FALSE;
    s.data[++top]=x;//先移动指针,后放入值
    return TRUE;
}
int main()
{
    //定义顺序栈
    SqStack s;
    //初始化顺序栈
    Init_SeqStack(s);
    //入栈操作
    Push_SeqStack(s,x);
    return 0;
}

❤️顺序栈出栈操作❤️

*******************************************************************************/
#include <stdio.h>
#define MAXSIZE 10//定义栈中元素的最大个数
typedef struct{
    ElemType data[MAXSIZE];
    int top;//栈顶指针
}SqStack;
//初始化顺序栈
bool Init_SeqStack(&S){
    if(s==NULL)
        return FALSE;
    s->top=NULL;//顺序栈置空操作
    return TRUE;
}
//顺序栈出栈操作
bool Pop_SeqStack(SqStack &s,ElemType &x){
    if(s->top==-1)//如果栈空
        return FALSE;
    x=s.data[top--];
    return TRUE;
}
int main()
{
    //定义顺序栈
    SqStack s;
    //初始化顺序栈
    Init_SeqStack(s);
    //入栈操作
    Push_SeqStack(s,x);
    //出栈操作
    Pop_SeqStack(s,x);
    return 0;
}

❤️顺序栈获取栈顶元素❤️

*******************************************************************************/
#include <stdio.h>
#define MAXSIZE 10//定义栈中元素的最大个数
typedef struct{
    ElemType data[MAXSIZE];
    int top;//栈顶指针
}SqStack;
//初始化顺序栈
bool Init_SeqStack(&S){
    if(s==NULL)
        return FALSE;
    s->top=NULL;//顺序栈置空操作
    return TRUE;
}
//顺序栈入栈操作
bool Push_SeqStack(SqStack &s,ElemType x){
    if(s->top==MAXSIZE-1)//如果满栈
        return FALSE;
    s.data[++top]=x;//先移动指针,后放入值
    return TRUE;
}
//顺序栈出栈操作
bool Pop_SeqStack(SqStack &s,ElemType &x){
    if(s->top==-1)//如果栈空
        return FALSE;
    x=s.data[top--];
    return TRUE;
}
//获取栈顶元素(和出栈差不多,只是少了一步指针的移动
)
bool GetTop(SqStack &s,ElemType &x){
        if(s->top==-1)//如果栈空
        return FALSE;
    x=s.data[top];
    return TRUE;
}
int main()
{
    //定义顺序栈
    SqStack s;
    //初始化顺序栈
    Init_SeqStack(s);
    //入栈操作
    Push_SeqStack(s,x);
    //出栈操作
    Pop_SeqStack(s,x);
    //获取栈顶元素
    GetTop(s,x);
    return 0;
}


目录
相关文章
|
2天前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
2天前
初步认识栈和队列
初步认识栈和队列
20 10
|
2天前
|
算法
数据结构与算法二:栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式
这篇文章讲解了栈的基本概念及其应用,并详细介绍了中缀表达式转换为后缀表达式的算法和实现步骤。
14 3
|
19小时前
|
存储 JavaScript 前端开发
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
为什么基础数据类型存放在栈中,而引用数据类型存放在堆中?
12 1
|
3天前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
15 2
|
1天前
探索顺序结构:栈的实现方式
探索顺序结构:栈的实现方式
|
1天前
|
存储 C语言
栈和队列题目练习
栈和队列题目练习
5 0
|
3天前
|
C语言
数据结构------栈(Stack)和队列(Queue)
数据结构------栈(Stack)和队列(Queue)
12 0
|
4天前
|
编译器 Linux C语言
第五章 栈与队列
第五章 栈与队列
12 0
|
4天前
05(数据结构考研)树相关操作代码
05(数据结构考研)树相关操作代码
11 0

热门文章

最新文章