C++算法之 写自己的栈stack 动态申请
来源:互联网 发布:马步芳 知乎 编辑:程序博客网 时间:2024/06/04 18:00
myStack。h
#pragma once//typedef int TYPE;template<typename TYPE>class myStack {TYPE* m_pData;//用new在堆上动态建立int m_nTop;int m_nCount;public:bool isFull(){return m_nTop+1 >= m_nCount;}bool isEmpty(){if (m_nTop < 0){return true;}else{return false;}}void push(const TYPE &data){if (isFull()){return;}m_pData[++m_nTop] = data;}bool pop(TYPE& t){if (isEmpty()){return false;}t = m_pData[m_nTop];m_nTop--;return true;}myStack(int nCount = 8);~myStack();};
myStack。cpp
#include "stdafx.h"#include "myStack.h"template<typename TYPE>myStack<TYPE>::myStack(int nCount) //缺省参数值只在头文件当中出现{m_nCount = nCount;m_pData = new TYPE[nCount];m_nTop = -1;}template<typename TYPE>myStack<TYPE>::~myStack(void){delete []m_pData;}
main.cpp
// Stack2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "myStack.h"#include "myStack.cpp"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){myStack<int> stack(4);int i = 0;while (i < 4){stack.push(i);++i;}int t;while (stack.pop(t)){cout<<t<<endl;}getchar();return 0;}
上次是用数组直接申请,这个是用new动态申请,这个方便在构造函数当中指定申请多大的内存。
0 0
- C++算法之 写自己的栈stack 动态申请
- C++算法之 自己写一个简单的栈Stack
- C调用自己写的动态库
- 动态栈Stack的C语言实现
- 自己写的栈类,stack(*^__^*) 嘻嘻……
- 自己写的C++ stack类
- 自己写Stack 实现栈结构
- 二维数组的动态申请--c语言
- 自己写一个stack容器
- C++-----自己写的哈希表
- C语言基础之函数、虚拟键盘的使用、数组、指针、动态申请内存、内存泄漏
- C语言基础之函数、虚拟键盘的使用、数组、指针、动态申请内存、内存泄漏
- C++算法之 自己写循环队列
- Python算法之栈(stack)的实现
- 用vs2008写了一个动态库,其中有申请内存,用vc6.0写了一个exe调用动态库,并释放dll申请的内存:dbgheap.c Line:1011
- 如何 动态编译自己写的代码
- 自己写的在页面动态时间
- 自己写的JDK动态代理类
- ceph存储 Linux下rpm制作中spec文件编写规范
- MPLS L2VPN技术VPWS笔记
- samba服务器安装和配置
- game theory week1 problem set 1
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
- C++算法之 写自己的栈stack 动态申请
- 有关ListView 多个item选中的问题
- ch7.JavaBean
- matlab提供的变换函数
- Web开发之分页算法,N(N>=3)种解决方案
- VC使用CRT调试功能检测内存泄漏
- Ubuntu 12.04 安装openjdk7以及jre
- 【Leetcode】Binary Tree Postorder Traversal
- mysql 索引简介