栈(顺序存储)C++模板实现

#include <iostream>
using namespace std;template <typename T>
class stack{private:int top;  //栈顶指针int maxLen; //栈最大长度T *data;  //用数组来创建栈public:stack(int top_ = -1 , int maxLen_ = 10):top(top_),maxLen(maxLen_){data = new T[maxLen];  //长度为maxLen的动态数组}~stack(){delete [] data; //释放动态数组}void Push(T x); //将x推进栈void Pop(); //推出栈顶元素T getPeek(); //读栈顶元素bool isEmpty(); //判断栈是否为空bool isFull(); //判断栈是否满void printAll(); //打印整个栈
};template <typename T>
void stack<T>::Push(T x){  //将x推进栈,实现部分if(isFull())return;top++;data[top] = x;
}template <typename T>
void stack<T>::Pop(){  //推出栈顶元素,实现部分if(isEmpty())return;top--;
}template <typename T>
T stack<T>::getPeek(){  //获得栈顶元素,实现部分if(isEmpty())return;return data[top];
}template <typename T>
bool stack<T>::isEmpty(){  //判断栈是否为空,实现部分return top==-1;
}template <typename T>
bool stack<T>::isFull(){  //判断栈是否满,实现部分return top==maxLen-1;
}template <typename T>
void stack<T>::printAll(){ //打印栈内元素,实现部分if(isEmpty())return;for(int i = 0; i <=top ; i++){cout<<data[i]<<endl;}
}
void main(){stack<int> a; //创建元素类型为int的栈对象a.Push(1);  //将1推进栈a.Push(2);  //将2推进栈a.Push(3);  //将3推进栈a.Push(4);  //将4推进栈a.Push(5);  //将5推进栈a.Pop();    //弹出栈顶元素a.printAll(); //打印栈内元素
}

转载于:https://www.cnblogs.com/xiaogua918/p/4181589.html

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

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

相关文章

java线程池参数含义

转载自 http://blog.csdn.net/zhouhl_cn/article/details/7392607 感谢分享 项目中开发通常不会直接使用ThreadPoolExecutor&#xff0c;而是通过Executors.newFixedThreadPool()这种简易写法&#xff0c;创建适合自己项目的线程池。但是了解最基本的线程池ThreadPoolExecutor是…

第5章 Python 数字图像处理(DIP) - 图像复原与重建1 - 高斯噪声

本章主要讲图像复原与重建&#xff0c;首先是了解一下各种噪声的特点与模型&#xff0c;还有形成的方法。一些重点的噪声&#xff0c;如高斯噪声&#xff0c;均匀噪声&#xff0c;伽马噪声&#xff0c;指数噪声&#xff0c;还有椒盐噪声等。 本章主要的噪声研究方法主要是加性噪…

十进制 转换 2-10 进制,int的扩展方法

public static int ConvertToBase(this int i, int baseToConvertTo){if (baseToConvertTo < 2 || baseToConvertTo > 10){throw new ArgumentException("无法完成转换" baseToConvertTo.ToString());}int resault 0; //存放结果int iterations 0; //十进…

c语言将一个已知头结点的单链表逆序_C语言实现单链表逆序与逆序输出实例

单链表的逆序输出分为两种情况&#xff0c;一种是只逆序输出&#xff0c;实际上不逆序&#xff1b;另一种是把链表逆序。本文就分别实例讲述一下两种方法。具体如下&#xff1a;1.逆序输出实例代码如下&#xff1a;#include#include#includeusing namespace std;typedef struct…

JavaScript之apply()和call()的区别

我 在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示 例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是…

doubango简介

1、doubango官网&#xff1a;http://www.doubango.org/ doubango常用项目国内镜像&#xff08;放在淘宝的svn服务器&#xff09;&#xff0c;目前有4个项目&#xff1a;doubango, idoubs, imsdroid, telepresence。项目的svn地址如下格式http://code.taobao.org/svn/【项目名称…

第5章 Python 数字图像处理(DIP) - 图像复原与重建2 - 瑞利噪声

标题瑞利噪声瑞利噪声 瑞利噪声的PDF为 P(z){2b(z−a)e−(z−a)2/b,z≥a0,z<a(5.4)P(z) \begin{cases} \frac{2}{b}(z-a)e^{-(z-a)^2/b}, & z \ge a \\ 0, & z < a\end{cases} \tag{5.4}P(z){b2​(z−a)e−(z−a)2/b,0,​z≥az<a​(5.4) 均值和方差为 zˉa…

2012暑假计划

挺长时间没有更新博客了&#xff0c;主要是因为这段时间比较忙&#xff0c;学习方面都在学习一些新的知识&#xff0c;感觉没有什么可写的。暑假开始了&#xff0c;极其喜欢自学的我准备度过一个美妙的暑假。 学习计划如下&#xff1a; 1.python的学习。由于在学习Linux编程&am…

调焦后焦实现不同距离成像_如何用手机拍出单反的效果,系列学习(一)AF参数“自动调焦”...

首先我们来了解下AF&#xff0c;AF在照相机中是英文Auto Focus的缩写&#xff0c;自动调焦的意思。因此&#xff0c;AF照相机即是自动调焦照相机的简称。   这种照相机的调焦是利用电子测距器自动进行的。当按下照相机快门按钮时&#xff0c;根据被摄目标的距离&#xff0c;电…

简谈http状态码

200&#xff1a;正常发送信息&#xff1b; 302&#xff1a;请求的网页被转移到一个新的地址&#xff0c;但客户访问仍继续通过原始URL地址&#xff0c;重定向&#xff0c;新的URL会在response中的Location中返回&#xff0c;浏览器将会使用新的URL发出新的Request。 303&#x…

python装饰器函数后执行_Python装饰器限制函数运行时间超时则退出执行

实际项目中会涉及到需要对有些函数的响应时间做一些限制&#xff0c;如果超时就退出函数的执行&#xff0c;停止等待。 可以利用python中的装饰器实现对函数执行时间的控制。 python装饰器简单来说可以在不改变某个函数内部实现和原来调用方式的前提下对该函数增加一些附件的功…

js 数组(Array)

一.数组 稠密数组(非稀疏数组) 稀疏数组 二.数组的添加和删除 我们已经常见过添加数组元素最简单的方法:为新索引赋值;也可以使用push()方法在数组末尾增加一个或者多个元素: a []; a.push("zero"); a.push("one","two"); 可以像删除对象属性一…

浏览器检测,移动网络的在线离线及网络状态

使用JS变量 navigator.onLine 是true还是false&#xff0c;可以判断在线还是离线。 不知道是不是html5的功能&#xff0c;在IE7&#xff0c;FF&#xff0c;Chrome下都是ok的。 如果你还想知道网络状况是wifi&#xff0c;还是2G&#xff0c;3G什么的&#xff0c;有少数部分浏览…

第5章 Python 数字图像处理(DIP) - 图像复原与重建3 - 爱尔兰(伽马)噪声

标题爱尔兰&#xff08;伽马&#xff09;噪声爱尔兰&#xff08;伽马&#xff09;噪声 爱尔兰噪声的PDF是 P(z){abzb−1(b−1)!e−az,z≥00,z<0(5.7)P(z) \begin{cases} \frac{a^bz^{b-1}}{(b-1)!}e^{-az}, & z\geq 0 \\ 0, & z < 0 \end{cases} \tag{5.7}P(z)…

Unity3D获取Andorid设备返回键,主页键等功能

在Unity开发中捕捉Android的常用事件其实很简单 在新建的脚本文件中就加入&#xff1a; 比如&#xff1a; // 返回键 if ( Application.platform RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Escape))){//....}// Home键 if ( Application.platform Runtim…

ipfs如何查找一个文件的_如何用 1 分钟遍历一个 100TB 的文件?

如果你在面试的时候遇到这样一个问题&#xff1a;如何用 1 分钟遍历一个 100TB 的文件&#xff1f;是不是立刻就懵圈了&#xff1f;不要紧&#xff0c;读了今天的文章&#xff0c;懵圈的可能是面试官。以下是全文。文件及硬盘管理是计算机操作系统的重要组成部分&#xff0c;让…

calendar类计算时间距离_日期时间--JAVA成长之路

Java中为处理日期和时间提供了大量的API&#xff0c;确实有把一件简单的事情搞复杂的嫌疑&#xff0c;各种类&#xff1a;Date Time Timestamp Calendar...&#xff0c;但是如果能够看到时间处理的本质就可以轻松hold住这堆东西了。常用的类表示类java.util.Date :能够准确记录…

第5章 Python 数字图像处理(DIP) - 图像复原与重建4 - 指数噪声

标题指数噪声指数噪声 指数噪声的PDF为 P(z){ae−az,z≥00,z<0(5.10)P(z) \begin{cases} ae^{-az}, & z\geq 0 \\ 0, & z < 0 \end{cases} \tag{5.10}P(z){ae−az,0,​z≥0z<0​(5.10) 均值和方差为 zˉ1a(5.11)\bar{z} \frac{1}{a} \tag{5.11}zˉa1​(5.…

登陆界面(jsp)客户端验证

第二步&#xff1a;通过servlet处理import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRe…

C++中的c_str()函数用法

语法: 1 const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同。 这是为了与c语言兼容&#xff0c;在c语言中没有string类型&#xff0c;故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 注意&#xff1a;…