封装一个顺序栈,并封装其相应的操作:判空、入栈、出栈、遍历栈、销毁

news2024/11/15 6:54:09

main.cpp

#include <iostream>
#include<fei1.h>


using namespace std;


int main()
{
   der L;
   //创建
   L.date(215);

   //入栈
   L.ent(45);
   L.ent(23);
   L.ent(98);
   L.ent(12);
   //遍历
   L.trav();
   // 出栈
   L.come();
   L.come();
   //遍历
   L.trav();
   //销毁
   L.dest();
    return 0;
}

fei.cpp

#include<fei1.h>
#include<iostream>

using namespace std;



//创建顺序栈
void der::date(int n)
{
    //创建顺序表
    data=new int[n];
    //初始化
    len=-1;

}

//判空
bool der::empty()
{
    return len==0;
}

//入栈
void der::ent(int n)
{
    //判断逻辑
    if(data==nullptr)
    {
        cout<<"入栈失败"<<endl;
        return ;
    }
    //入栈逻辑
    //先压后加
    len++;
    data[len]=n;

}

//出栈
void der::come()
{
    //判断逻辑
    if(data==nullptr||empty())
    {
        cout<<"入栈失败"<<endl;
        return;
    }
    //出栈逻辑
    len--;
}

//遍历栈
void der::trav()
{
    //判断逻辑
    if(data==nullptr||empty())
    {
        cout<<"入栈失败"<<endl;
        return;
    }
    //遍历逻辑
    for(int i=0;i<=len;i++)
    {
        cout<<data[i]<<" ";
    }
    cout<<endl;
}

//销毁栈
void der::dest()
{
    //判断逻辑
    if(data==nullptr)
    {
        cout<<"入栈失败"<<endl;
        return;
    }
    //销毁逻辑
    delete  []data;
}

fei.h

#ifndef FEI1_H
#define FEI1_H

class der
{
    int *data;
    int len;
public:

    //创建栈
    void date(int n);

    //判空
    bool empty();

    //入栈
    void ent(int n);

    //出栈
    void come();

    //遍历栈
    void trav();

    //销毁栈
    void dest();


};


#endif // FEI1_H

结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker学习(三):docker的常用命令问问

文章目录前言docker镜像分层加载原理docker镜像commit操作产生新镜像本地镜像发布到阿里云将本地镜像推送到私有库前言 大家好&#xff0c;这是我学习docker系列的笔记文章&#xff0c;目标是掌握docker,为后续学习K8s做准备。本文记录了docker镜像分层加载的原理&#xff0c;…

IDEA SpringBoot热部署

IDEA SpringBoot热部署【自动帮开发者重启 SpringBoot项目&#xff0c;以达到】 1.添加SpringBoot热部署框架支持 在pom.xml中添加如下框架引用&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devt…

Smart HTML Elements R1 2023

Smart HTML Elements R1 2023 增加了Angular 15支持。 添加了对Blazor的Microsoft.NET 7支持。 添加了三维图表组件。 添加了对网格保存/加载状态&#xff08;持久状态&#xff09;的支持。 调度程序 定义特定时段的可用性。 现在可以限制用户输入。 当有多个图例时&a…

长沙23岁应届生做软件测试1年,月入10k!室友悔不当初!

先简单的介绍一下自己&#xff0c;大家好&#xff01;我叫做程双喜&#xff0c;今天23&#xff0c;2021年大学毕业于长沙的一所大专学校&#xff0c;专业是软件测试java专业&#xff0c;三年时间过得很快&#xff0c;转眼间来到了毕业季&#xff0c;自己还是一无所成&#xff0…

Hadoop

1 Hadoop常用端口号 hadoop2.xHadoop3.x访问HDFS端口500709870访问MR执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020 2 Hadoop配置文件 hadoop2.x core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml slaves hadoop3.x core-site.xml、hdfs…

ESP-IDF在VSCode中创建工程文件

1.新建工程项目&#xff0c;打开VSCode&#xff0c;打开命令面板&#xff0c;并输入esp-idf new&#xff0c;执行新建esp-idf项目命令&#xff1a; 2.设置项目名&#xff0c;项目工程目录位置&#xff0c;芯片类型&#xff0c;端口号 3.点击choose Template&#xff0c;从一个…

第八届蓝桥杯省赛 C++ A/B组 - 分巧克力

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;蓝桥杯题解集合 &#x1f4dd;原题地址&#xff1a;后缀表达式 &#x1f4e3;专栏定位&#xff1a;为想参加蓝桥杯的小伙伴整理常考算法题解&#xff0c;祝大…

全志A40i+Logos FPGA开发板(4核ARM Cortex-A7)硬件说明书(下)

前 言 本文档主要介绍板卡硬件接口资源以及设计注意事项等内容,测试板卡为创龙科技旗下的全志A40i+Logos FPGA开发板。 核心板的ARM端和FPGA端的IO电平标准一般为3.3V,上拉电源一般不超过3.3V,当外接信号电平与IO电平不匹配时,中间需增加电平转换芯片或信号隔离芯片。按键…

1、语义软分割算法(Semantatic Human Matting)原理及pytorcch代码详述

一、Semantatic Human Matting原理 Semantatic Human Matting 文章链接请点击这里 第一步:将输入图像送入到T-Net中进行计算,得到三张图:Bs、Fs和Us. T-Net:就是一个编码和解码的过程,和常见的语义分割网络类似 Bs:确定的背景区 Fs:确定的前景区 Us: 不确定的区域 第二…

计算机网络详解--套接字编程

目录 1.什么是网络编程 2.TCP/IP协议 3.Socket套接字 流套接字:使用传输层TCP&#xff08;传输控制协议&#xff09; 数据报套接字:使用传输层UDP&#xff08;用户数据报协议&#xff09; 原始套接字 4.Java数据报套接字通信模型 UDP数据报套接字编程 DatagramSocket A…

IDEA集成Docker配置

首先开启Docker的SSH连接&#xff0c;设置Docker允许远程连接sudo vim /lib/systemd/system/docker.service将ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock注释替换为ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run…

GP232RL替代FT232RL国产USB转串口/UART芯片

GP232RL为接口转换芯片&#xff0c;可以实现USB到串行UART接口的转换&#xff0c;也可转换到同步、异步Bit-Bang接口模式。具备可选择的时钟产生输出&#xff0c;以及新的FTDIChip-ID安全加密狗功能。 此外&#xff0c;还提供异步和同步bit bang接口模式。使用GP232RL的USB到串…

用Flutter实现GaiaControl BLE OTA升级功能,支持Android/IOS

代码基本移植官方GaiaControl Demo。 支持RWCP 断点续传 设置蓝牙mtu.协议。这里主要分析GAIA CSR ble ota的过程&#xff0c;协议等等&#xff0c;希望对你有所帮助。这里对蓝牙服务特性订阅都不谈。读者自行了解。 Gaia 是CSR 制定的一个上层使用协议&#xff0c;其在BR/EDR…

Swagger的使用

一、概述 RestFul Api文档在线自动生成工具 >Api文档与API定义同步更新直接运行&#xff0c;可以在线测试API接口支持多种语言:&#xff08;Java,Php&#xff09; 官网&#xff1a;https://swagger.io/ 二、使用 在项目中使用Swagger需要springfox&#xff1b; Swagger…

Axure 原型中的迭代设计

​“老师&#xff0c;什么是产品迭代&#xff1f;” “老师。产品迭代和平常的产品设计有什么不同吗&#xff1f;” “老师&#xff0c;产品迭代原型可以怎么做&#xff1f;需要全部重新绘制吗&#xff1f;” 在和小伙伴们的日常交流中&#xff0c;不乏对产品迭代存在疑惑的朋…

2023年,数据人谨记把握好这“四不要”和“四要”

2023年已经开启&#xff0c;这一年对任何组织数据治理的工作都是非常重要的&#xff0c;那么我们如何更好的掌握数据治理和应对数据治理项目就成为重中之重&#xff0c;下面就和大家谈谈数据治理学习和项目的一些心得体会&#xff0c;供大家参考。 不要相互割裂&#xff0c;要融…

VS Code配置snippets代码片段快速生成html模板,提高前端编写效率

先看下示例&#xff0c;在输入 ! 号回车后自动生成一段代码片段。 这样我们就可以更便捷的进行代码编写了。 配置方法如下&#xff1a; 然后找到对应的文件进行配置&#xff0c;例如 html.json&#xff0c;编写 .html 扩展名文件时就能触发。 我这选的 html.json 进行的配置…

CSS选择器整理学习(下)

书接上回&#xff0c;在前端项目开发中&#xff0c;有时候需要对特殊的元素进行特殊的处理&#xff0c;但有时候元素的位置不确定、层级不确定、数量不确定等问题&#xff0c;导致我们没办法进行元素的选择&#xff0c;这个时候我们就需要用到元素选择器了。 一、css选择器 1…

ESP-IDF:懒汉式和饿汉式单例模式测试代码

ESP-IDF:懒汉式和饿汉式单例模式测试代码 /单例模式测试/ /懒汉式/ class singleton_lazy { private: singleton_lazy(){}; public: static singleton_lazy *getinstance(){ if (pSingleton NULL){ pSingleton new singleton_lazy; } return pSingleton; } private: stati…

美摄云剪辑3.0:融合AIGC,实现效率提升

云剪辑3.0亮点速览 数字人视频一键生成本地素材剪辑无需等待上传支持Lottie动画导入01 模板化包装&#xff0c;一键生成数字人视频 伴随元宇宙技术的发展和产业数字化升级&#xff0c;数字人正在成为下一代互联网的基础设施。与此同时&#xff0c;AI的应用场景也愈加丰富。人…