当前位置: 首页 > news >正文

顺序栈的操作

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝

既然选择了远方,当不负青春,砥砺前行!

 SeqStack.h

#pragma once
#include<stdio.h>
#include<stdlib.h>#define MaxSize 100
typedef int DataType;typedef struct
{DataType data[MaxSize];int top;
}SeqStack;void InitSeqStack(SeqStack* S);int StackEmpty(SeqStack S);int GetTop(SeqStack S, DataType* e);int PushStack(SeqStack* S, DataType e);int PopStack(SeqStack* S, DataType* e);int StackLength(SeqStack S);void ClearStack(SeqStack* S);

SeqStack.cpp

#include "SeqStack.h"#define _CRT_SECURE_NO_WARNINGS 1void InitSeqStack(SeqStack* S)
{S->top = -1;
}int StackEmpty(SeqStack S)
{if (S.top == -1){return 1;}else{return 0;}
}int GetTop(SeqStack S,DataType *e)
{if (S.top <= -1){printf("栈已为空!\n");return 0;}*e = S.data[S.top];return 1;
}int PushStack(SeqStack* S, DataType e)
{if (S->top == MaxSize - 1){printf("栈已满,不能将元素入栈!\n");return 0;}S->top++;S->data[S->top] = e;return 1;
}int PopStack(SeqStack* S, DataType* e)
{if (S->top == -1){printf("栈中已经没有元素,不能进行出栈操作!\n");return 0;}*e = S->data[S->top];S->top--;return 1;
}int StackLength(SeqStack S)
{S.top++;return S.top;
}void ClearStack(SeqStack* S)
{S->top = -1;
}

main.cpp

#define _CRT_SECURE_NO_WARNINGS 1
#include"SeqStack.h"int main()
{SeqStack S;int e;InitSeqStack(&S);PushStack(&S, 10);PushStack(&S, 20);printf("%d\n", StackLength(S));GetTop(S, &e);printf("%d\n", e);PopStack(&S, &e);GetTop(S, &e);printf("%d\n", e);PopStack(&S, &e);printf("%d\n", e);if (StackEmpty(S) == 1){printf("栈已为空\n");}PushStack(&S, 50);GetTop(S, &e);printf("%d\n", e);ClearStack(&S);if (StackEmpty(S) == 1){printf("栈已为空\n");}return 0;
}

http://www.lryc.cn/news/343626.html

相关文章:

  • STM32 各外设GPIO配置
  • React-hooks相关知识点总结
  • 20240508日记
  • Web实操(6),基础知识学习(24~)
  • JavaSE——方法详解
  • iBarcoder for Mac:一站式条形码生成软件
  • 学习R语言第六天
  • LeetCode算法题:9. 回文数(Java解法)
  • VALSE 2024 Workshop报告分享┆面向实际场景体验的多模态大模型DeepSeek VL
  • RFC 791 (1)-导论
  • 力扣hot100:199. 二叉树的右视图/437. 路径总和 III(dfs/回溯/树上前缀和/哈希表)
  • 浅谈 HTTPS
  • js手动实现unshift
  • Failed to get DISPLAY: Error: All configured authentication methods failed 解决方法
  • 随便聊一下 显控科技 控制屏 通过 RS485 接口 上位机 通讯 说明
  • C++学习笔记(多线程)
  • 解决Redis的键值前出现类似\xAC\xED\x00\x05t\x00*这样的字符序列
  • 分享 Kamailio 5.7.x 预处理一例
  • 学QT的第三天~
  • 数据结构---时间复杂度+空间复杂度
  • Verilog 触发器状态机语言描述
  • 等保保护测评试题中
  • SD-Turbo部署
  • 【ZZULIOJ】1095: 时间间隔(函数专题)(Java)
  • Rust:文件 launch.json 有什么用?
  • vue3实现文字垂直滚动
  • Android4.4真机移植过程笔记(三)
  • PostgreSQL备份恢复与复制
  • spring高级篇(八)
  • UP互助 帮助UP起号做视频 支持B站和抖音