用类来模拟(栈)操作

用类来模拟(栈)操作

#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>

using namespace std;

template<typename T>

class Stack
{
public:
       Stack(int size =10)
       {
             MAX_SIZE =10;
             tp =new T[size];
             this->size =0;
       }
       ~Stack()
       {
             delete tp;
       }
       void push(T dat)
       {
             if(size == MAX_SIZE)
             {
                    printf("Stack is overflow~\n");
             }
             tp[size++] =dat;
       }
       T pop()
       {
             if(size ==0)
             {
                    printf("Stack is empty~\n");
             }
             T temp =tp[--size];
             return temp;
       }
private:
       int MAX_SIZE;
       int size;
       T* tp;
};
int main()
{
       Stack<int> stack(20);
       for(int i=1; i<20; i++)
       {
             stack.push(i);
       }
       printf("pop.....\n");
       for(int i =1; i<20; i++)
       {
             printf("%d\n",stack.pop());
       }
       return 0;
}

热门文章

暂无图片
编程学习 ·

Python使用Request库实现PC端学小易(适用app版本1.0.6)

Python使用Request库实现PC端学小易app(适用app版本1.0.6)前言抓包登录操作抓包搜题操作抓包数据分析登录搜题重点代码实现导入库tkinter实现简易图形界面部分request库实现登录部分搜题部分整理输出至tkinter部分完整代码重点 前言 一直以来学小易只有安卓段与IOS端的app,在…
暂无图片
编程学习 ·

react组件返回上级时,记录上级组件状态

最近开发项目中,做管理后台,很多表格列表,有搜索条件,有分页;在跳转到详情页面,返回时,列表组件重新渲染,之前的搜索条件,分页什么的,都没有记住;还需要重新选,点击,交互体验很不好。1.这里想到2两个办法,一个是吧搜索条件存到缓存中;每次进行读写;条件太多,或…
暂无图片
编程学习 ·

Java多线程编程复习总结(一)

Java中多线程概述 一、基本概念 进程和线程进程是程序运行的实例,比如Java程序就是一个Java虚拟机进程 每个进程中可以包含多个线程,每个线程完成各自不同的任务,在Java平台中一个线程对应一个对象但是这个对象和普通类中声明的对象不一样,不是分配在对空间中的;而是,JVM…
暂无图片
编程学习 ·

windows使用小技巧——Windows 10 HEVC扩展要收费怎么办?教你怎么免费下载HEVC扩展

平时我一般都使用potplayer打开视频,但在整理视频的时候mov格式的文件总是不能显示缩略图。如果用windows10自带图片查看器打开时会提示下载HEVC,点击后会要求付7元下载。本来已经准备支付宝了,结果发现要将支付宝账号加入windows账号下。。。算了算了,还是看看有没有别的办…
暂无图片
编程学习 ·

荣耀X10 Max发布在即 屏幕优势显著

前一阵就听说了荣耀X10 Max将在7月2日发布的消息,不知不觉中已经只剩不到一周的时间了,作为今年唯一的5G大屏手机,人们关注的无非是它的屏幕,以及各项配置。刚刚荣耀X10 Max又有了更多的爆料信息,下面就跟大家来聊一聊这款即将发布的5G大屏手机。荣耀X10 Max采用了一块7.0…
暂无图片
编程学习 ·

直播软件开发中的音视频编码转换怎么实现

2.1、下载ffmpeg。 下载网址:[url]http://www.ffmpeg.org/download.html[/url] 2.2、解压缩tar -zxvf ffmpeg-2.0.1.tar.gz2.3、编辑profile文件: vi /etc/profile 在文件末尾加上两句话:export FFMPEG_HOME=/usr/local/ffmpeg export PATH=$FFMPEG_HOME/bin:$PATH2.4、配置…
暂无图片
编程学习 ·

java 并发 join 之 老王泡茶

package juc;import java.util.concurrent.TimeUnit;/*** @author yanjun.liu* @date 2020/7/1--17:00*/ public class Test6 {public static void main(String[] args) throws InterruptedException {Thread lw= new Thread(()->{try {System.out.println("老王开始洗…
暂无图片
编程学习 ·

[剑指offer]二叉搜索树的后序遍历数列

[剑指offer]二叉搜索树的后序遍历数列 剑指offer-二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树:5/ \2 6/ \1 …
暂无图片
编程学习 ·

vulnhub靶机-djinn3

1、靶机ip:192.168.0.110(开机就提示:不是所有的都需要扫描发现主机)2、扫描靶机端口root@kali:~# nmap -A -p- 192.168.0.110 Starting Nmap 7.80 ( https://nmap.org ) Nmap scan report for 192.168.0.110 Host is up (0.0011s latency). Not shown: 65531 closed ports…
暂无图片
编程学习 ·

matlab的subplot中间添加ylable

根据图形的坐标轴的大小确定中间位置或者是想要的位置。如下图所示,横坐标师10^6为单位的坐标轴,左边一点的位置大概为-300000,纵坐标最下面一幅图的总高度为1,倒数第二幅图像总高度为0.4,加上下面的空白处,中间位置大概为3.5左右,所以代码为ylabel(Amplitude,position,…
暂无图片
编程学习 ·

WWDC20 苹果发布会

iphone上的ios14亮点不多 主要是桌面小组件 分类app显示 画中画 还有小程序 来电小窗提示和siri ui更新与更加智能 还有汽车智能钥匙 不用带钥匙只需要nfc就可以打开车门与开车 首款支持的汽车是 宝马5系ipad上的ipadOS14 拥有ios14的的全部更新 更加方便的ui以及全局搜索 也…
暂无图片
编程学习 ·

free_spirit(在栈上爆破一个可以被free的fake_chunk)

free_spirit(在栈上爆破一个可以被free的fake_chunk)首先检查一下程序的保护机制然后,我们用IDA分析一下,功能3存在8字节溢出,将会把v7下面的buf指针覆盖掉,而覆盖了buf指针,就能实现任意地址写。那么,我们劫持函数栈返回地址为one_gadget即可,为了绕过结尾对buf的检查…
暂无图片
编程学习 ·

实施java 的web项目需要掌握的技术

实施java 的web项目需要掌握的技术如下:1.java语言:JSP、Servlet、JDBC、javaBean(Application)从这四部分开始创建web项目。(一)java Database Connectivity(JBDC)技术它是一种执行SQL语句的java API,由一组用java编程语言编写的类与接口组成,为开发人员提供了一个标准…
暂无图片
编程学习 ·

Windows编程—Windows驱动开发环境搭建

文章目录前言步骤步骤一步骤二步骤三连接测试步骤四步骤五总结 前言 作为一个编写Windows程序的开发人员,对Windows驱动开发 并非必需要掌握,但是掌握 Windows驱动开发对Windows程序开发人员却有极大的好处。一个直观的感受 程序操作权限更大了,因为处在内核层了嘛。应该可以…
暂无图片
编程学习 ·

《MYSQL数据库》TCL语言和DCL语言

一、TCL语言的操作语法有时候我们的一个需求(一个任务),可能会涉及到多个DML(增删改)操作。那么这一系列操作, 我们要看成一个整体,不可切割。如在一个员工系统中,某员工A的数据可能会存在多个表中,如基本信息表,业务信息表,邮箱信息表等。当我们想删除此人的所有信息时,…
暂无图片
编程学习 ·

关于微服务架构最好的文章!

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景。❝ 为了防止不提供原网址的转载,特加上原文链接:https://www.cnblogs.com/skabyy/p/11396571.html要理解微服务,首先要先理解不是微服务…
暂无图片
编程学习 ·

ES6基本知识

Es6知识点ES5 变量 var 声明 1.可以重复声明 不报错 var a=12; var a=5; alert(a) //52.无法限制修改 PI(圆周率)可以修改PI3.没有块级作用域(语法块) {变量=123 } for(...){var a=12 } alert(a) 12ES6语法 let const 不能重复声明 let 是变量 let a=12; a=5 alert(a) 5c…
暂无图片
编程学习 ·

线性代数知识课笔记1

笔记内容摘自 猴博士爱讲课@B站 https://www.bilibili.com/video/BV1hs411e7X8?p=4行列式 行列式的计算 行列式分为2阶、3阶、4阶……n阶等,其中2阶的计算方法为: ∣1326∣ \begin{vmatrix}1&3\\2&6\end{vmatrix} ∣∣∣∣​12​36​∣∣∣∣​ 计算方法为对角线相乘…
暂无图片
编程学习 ·

diff (制作补丁)和 patch(添加补丁) 的简介及简单使用

diff是Linux系统的一个很重要的工具程序,我们通常用diff对同一软件(或程序)的不同版本的文件进行对比查看。不过,你不要用diff去比较两个完全不相干的文件,因为那样是比不出结果来的。diff是以“行”为单位比较的。diff和patch是一对工具,在数学上来说,diff是对两个集合…