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;
}


目录
相关文章
|
1天前
|
存储 安全 Java
【用Java学习数据结构系列】探索栈和队列的无尽秘密
【用Java学习数据结构系列】探索栈和队列的无尽秘密
14 2
|
1天前
|
C语言
数据结构------栈(Stack)和队列(Queue)
数据结构------栈(Stack)和队列(Queue)
10 0
|
1天前
|
编译器 Linux C语言
第五章 栈与队列
第五章 栈与队列
9 0
|
1天前
05(数据结构考研)树相关操作代码
05(数据结构考研)树相关操作代码
6 0
|
1天前
|
算法
04(数据结构考研)串相关操作代码
04(数据结构考研)串相关操作代码
9 0
|
1天前
03(数据结构考研)队列相关操作代码
03(数据结构考研)队列相关操作代码
9 0
|
6天前
|
存储 算法 搜索推荐
探索常见数据结构:数组、链表、栈、队列、树和图
探索常见数据结构:数组、链表、栈、队列、树和图
81 64
|
15天前
|
算法 安全 测试技术
golang 栈数据结构的实现和应用
本文详细介绍了“栈”这一数据结构的特点,并用Golang实现栈。栈是一种FILO(First In Last Out,即先进后出或后进先出)的数据结构。文章展示了如何用slice和链表来实现栈,并通过golang benchmark测试了二者的性能差异。此外,还提供了几个使用栈结构解决的实际算法问题示例,如有效的括号匹配等。
golang 栈数据结构的实现和应用
|
6天前
|
Go
数据结构之 - 深入了解栈数据结构
数据结构之 - 深入了解栈数据结构
16 5
【数据结构】--- 栈和队列
【数据结构】--- 栈和队列

热门文章

最新文章