头文件:

typedef struct{SElemtype data[MAXSIZE];  //存放的数据int top;  //指向栈顶的指针
}SqStack;class StackClass
{
public:StackClass();~StackClass();SqStack* InitStack();bool DestroyStack(SqStack *S);bool ClearStack(SqStack*S);bool IsEmptyStack(SqStack*S);//判断是否为空栈SElemtype GetTop(SqStack*S);//返回栈顶元素bool PushData(SqStack * S,SElemtype e); //入栈bool PopData(SqStack * S,SElemtype* e);//出栈int GetStackLength(SqStack * S);//返回栈的个数}

实现cpp文件:

//入栈操作
bool StackClass::PushData(SqStack * S,SElemtype e)
{//判断是否栈已经满了if (S->top == MAXSIZE - 1){cout << "栈已经满了,无法继续入栈!" << endl;return false;}S->top ++;S->data[S->top] = e;return true;
}//出栈操作
bool StackClass::PopData(SqStack * S,SElemtype* e)
{//首先判断是否为空栈if (S->top == -1){return false;}*e = S->data[S->top];S->top--; //移动栈顶指针的位置就可以了return true;
}//求栈的长度
int StackClass::GetStackLength(SqStack * S)
{int cur_length = S->top + 1;return cur_length;
}//判断是否为空栈
bool StackClass::IsEmptyStack(SqStack*S)
{int top = S->top;if (top == -1){return true;}return false;
}//返回栈顶元素
SElemtype StackClass::GetTop(SqStack*S){//返回栈顶元素if (S->top == -1){cout << "当前为空栈" << endl;return 0;}return S->data[S->top];
}//清空栈
bool StackClass::ClearStack(SqStack*S)
{S->top =-1; //将数据清空return true;
}//初始化栈
SqStack* StackClass::InitStack()
{SqStack * S;S->top = -1;return S;
}//销毁栈
bool StackClass::DestroyStack(SqStack *S)
{delete S;return true;
}

C++数据结构04--顺序栈的实现相关推荐

  1. 数据结构 创建顺序栈

    3.27数据结构--创建顺序栈 结构体定义 初始化栈 入栈 出栈 销毁栈 运行结果截图: 代码: /*3.27 顺序栈*/#define _CRT_SECURE_NO_WARNINGS #define ...

  2. 数据结构遍历顺序栈_数据结构:顺序栈的实现

    数据结构:顺序栈的实现 1.快速开始 栈是一种遵循元素后进(Push)先出(Pop)规则的线性表,即最后加入的元素最先出来,它的实现可以用数组或者链表. 它的特点如下: 后入先出,先入后出. 除了头尾 ...

  3. 数据结构遍历顺序栈_链栈的初始化与遍历

    初始化 我们在定义完一个数据结构的结构体之后,需要初始化才能使用.比如顺序栈的初始化,也就是构造一个空栈就行了.那么链栈如何初始化呢? 链栈初始化的目标也是要构造一个空栈.根据结构体定义,空栈是什么一 ...

  4. PHP/Golang实现—数据结构之顺序栈

    客官,留下你的赞:成为我的粉丝,一起上车哦!评论区欢迎你的留言 重温数据结构.相关代码集放在GitHub上,欢迎Star.Fork和一起加入.目前只有PHP版本:后续会增加Golang版本,后续会不断 ...

  5. 【C++】【数据结构】顺序栈的基本操作(初始化、入栈、出栈、取栈顶元素、遍历输出栈)的算法实现附全代码

    C++实现顺序栈的算法+步骤(附全代码): 使用c++完成数据结构顺序栈的基本操作,包括(初始化.入栈.出栈.取栈顶元素.遍历输出栈等),可直接编译运行. 顺序栈的定义如下: #define MAXS ...

  6. 数据结构_顺序栈的代码实践

    #include <iostream> using namespace std; #define Maxsize 100//预先分配空间,这个数值根据实际情况预估确定 typedef st ...

  7. 【数据结构】顺序栈的实现(C语言)

    栈的基本概念及其描述 栈是一种特殊的线性表,规定它的插入运算和删除运算均在线性表的同一端进行,进行插入操作和删除操作的那一端称为栈顶,另一端称为栈底. 栈的插入操作和删除操作分别称为进栈和出栈. FI ...

  8. 【数据结构】顺序栈与链表栈

    顺序栈 头文件 1 //@ author 成鹏致远 2 //@ net http://infodown.tap.cn 3 //@ qq 552158509 4 //@ blog lcw.cnblogs ...

  9. 数据结构之顺序栈的一些基本操作

    ** 顺序栈可以用一个一维数组和一个记录栈顶位置的整形变量来实现,数组用于顺序存储栈中所有的数据元素,栈顶指针用于存储栈顶元素的位置. ** 头文件(Sqstack.h): #ifndef __SQS ...

  10. 数据结构之 顺序栈、共享栈、链栈

    顺序栈.共享栈.链栈 一.思维导图: 二.栈的定义: 三.栈的特点: 四.栈的基本操作: 五.常考题型: 六.顺序栈: 1.思维导图: 2.顺序栈基本操作的实现: 1.定义栈: 2. 初始化栈:Ini ...

最新文章

  1. java+enum+devicetype_Java HmDatapoint.isNumberType方法代碼示例
  2. STM32开发 -- 4G模块开发详解(1)
  3. Redis(零):背景
  4. 国外问答网站Quora数据的爬虫 Java
  5. linux基础(十一)--系统初始化的简谈
  6. 数据库知识与技巧日常汇总
  7. Ubuntu安装sasquatch时执行./build.sh报错:--no-check-certificate
  8. 达梦数据库可视化工具的使用
  9. 每天做好一件事,坦然微笑地面对生活
  10. 西安省某小学能耗监测及电力监控系统的研究与应用
  11. 乔巴机器人 番外篇_乔巴机器人五只合体图+10个小乔巴+【附合体动图】
  12. Ae 入门系列之八:抠像
  13. python tableau_Tableau集成Python机器学习实践(下)
  14. (HBuilder X) 从下载HBuilderX到生成app.apk
  15. ios11修改微信步数_iOS逆向之“修改微信运动步数”
  16. 创建新Docker容器时出现“The container name “/xxx“ is already in use by container xxxxxxxxxxx...”问题的解决办法
  17. SAP FI 系列 (030) - 特别总账标记
  18. 网络摄像机产品介绍以及学习
  19. matlab 求留数,用matlab求留数
  20. NEO-M8T+千寻基站+RTKNAVI进行RTK定位

热门文章

  1. 用 Nginx 禁止国外 IP 访问我的网站....
  2. JVM超神之路:年后跳槽需要的JVM知识点,周末给你整理了一份!!!
  3. Parallels Desktop虚拟机Centos系统安装后联网以及互通宿主机
  4. 【docker】查看docker镜像的版本号TAG,从远程仓库拉取自己想要版本的镜像
  5. WPFのDecorator 、Adorner和AdornerDecorator
  6. HDU 5972 Regular Number
  7. C语言中结构体内存存储方式
  8. Net学习日记_ASP.Net_一般处理程序_笔记
  9. pandas 常用函数整理
  10. 常用docker命令