动态顺序栈的简单实现
来源:互联网 发布:数据库和excel的区别 编辑:程序博客网 时间:2024/06/08 05:33
实现代码
#pragma once//防止文件重复包含#include<iostream>using namespace std;template<class T>class Stack{public:Stack():_pData(new T[3]), _capacity(3), _size(0){}void Push(const T& data){CheckCapacity();_pData[_size++] = data;}void Pop(){_size--;}size_t Size()const{return _size;}size_t Capacity()const{return _capacity;}bool Empty()const{return 0 == _size;}T& top()//栈顶{return _pData[_size - 1];}T& top()const{return _pData[_size - 1];}private:void CheckCapacity(){size_t size = Size();size_t capacity = Capacity();size_t newcapacity = 2 * capacity + 2;if (size >= capacity){//增容T* tmp = new T[newcapacity];for (size_t i = 0; i<size; i++){tmp[i] = _pData[i];}delete[] _pData;//释放旧空间_pData = tmp;}}private:T* _pData;size_t _capacity;size_t _size;};测试代码
void Test(){Stack<int> s;s.Push(1);s.Push(2);s.Push(3);cout << "s.top="<<s.top() << endl;s.Pop();cout << "s.top=" << s.top() << endl;}int main(){Test();system("pause");return 0;}
阅读全文
0 0
- 动态顺序栈的简单实现
- 简单的动态顺序表实现
- c::动态顺序表的简单实现
- 动态顺序表的简单实现
- 动态顺序栈的实现
- 简单实现动态顺序表
- 动态实现简单【顺序表】
- 顺序栈的简单实现
- 顺序栈的简单实现
- 顺序栈的简单实现
- C语言:动态顺序表的简单实现
- 动态顺序表部分接口的简单实现
- 简单的动态顺序表实现 不足之处请留言指出
- 动态顺序栈的C语言实现!
- C简单实现动态顺序表
- 简单实现静态/动态顺序表
- C语言简单实现动态顺序表
- 顺序栈简单实现
- vue组件-轮播(carousel)
- DPDK pdump抓包说明
- 从零基础认识easyUI的dataGrid
- 图形用户界面
- 界面
- 动态顺序栈的简单实现
- 【示例教程】LEADTOOLS中如何用H.264压缩视频创建DICOM文件
- 作业区
- JAVA----Math类
- 转:xgboost特征选择
- linux搭建mysql主从服务自动复制数据
- 学习笔记——Android常用方法
- 脊回归(Ridge Regression)详解
- C#取两个时间的时间差并去除周末