C++算法之 自己写一个简单的栈Stack
// 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; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。