C++使用使用数组进行栈操作演示

使用VS2010编译,以下为代码:

#include "iostream"
using namespace std;
class Array{
public:
	//构造函数
	Array(int size):m_data(new int[size]),m_size(size),m_top(0){
		cout << "构造函数::" << this << endl;
	}
	//析构函数
	~Array(void){
		cout << "析构函数:"<< this << endl;
		delete[] m_data;
	}
	//压入
	bool push(int data){
	//上溢检查
		if (m_top>= m_size)
		{
			return false;
		}
		m_data[m_top++] = data;
	}
	//弹出
	bool pop(int& data){
		//下溢检查
		if (!m_top)
		{
			return false;
		}
		data = m_data[--m_top];
		return true;
	}
	//获取
	bool get(int i,int& data)const{
		//越界检查
		if (i < 0 || m_top <= i)
		{
			return false;
		}
		data = m_data[i];
		return true;
	}
	//设置
	bool set(int i,int data){
		if (i < 0 || m_top <=i)
		{
			return false;
		}
		m_data[i] = data;
		return true;
	}
	//打印
	void print(void)const{
		for (int i = 0;i < m_top;++i)
		{
			cout << m_data[i] << ' ';
		}
		cout <

执行结果:
C++使用使用数组进行栈操作演示_第1张图片

你可能感兴趣的:(C++)