码迷,mamicode.com
首页 > 编程语言 > 详细

C++算法之 自己写一个简单的栈Stack

时间:2014-12-06 16:56:04      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:blog   io   ar   os   sp   on   2014   log   ef   

// Stack.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

enum{COUNT = 8};
typedef int TYPE;
class CStack
{
	TYPE m_pData[COUNT];
	int  m_nTop;
	int  m_nCount;


public:
	
	bool isFull()
	{
		return m_nTop+1>= m_nCount;
	}
	bool isEmpty()
	{
		return m_nTop < 0;
	}
	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--];
		return true;

	}

	CStack();
	~CStack(){}
};

CStack::CStack()
{
	m_nTop = -1;
	m_nCount = COUNT;
}

int _tmain(int argc, _TCHAR* argv[])
{
	CStack stack;
	int i = 0;
	while (i < 8)
	{  
		stack.push(i++);
	}

	TYPE t;
	stack.pop(t);
	stack.pop(t);
	stack.pop(t);
	stack.pop(t);
	while (i<13)
	{
		stack.push(++i);
	}
	i = 0;


	while(stack.pop(t))
	{
		cout << t << endl;
	}

	getchar();
	return 0;
}

C++算法之 自己写一个简单的栈Stack

标签:blog   io   ar   os   sp   on   2014   log   ef   

原文地址:http://blog.csdn.net/djb100316878/article/details/41776101

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!