⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typedstack.h

📁 计算机图形学原理及算法教程(VC++版)程序代码
💻 H
字号:
// TypedStack.h: interface for the CTypedStack class.

//模板堆栈

#ifndef _CTSTACK_H
#define _CTSTACK_H

//扩容量
#define STACK_EXTEND_SIZE			10 

template <class T> 
class CTypedStack  
{
public:
	CTypedStack(int nCapacity = 10);
	virtual ~CTypedStack();

public:

	//入栈
	void Push(const T& item);

	//出栈
	T Pop();

	//访问栈顶元素
	T Peek();

	//检查堆栈是否为空
	BOOL IsEmpty() const;

	//清除栈中的元素,但并不释放内存
	void ClearItem();

	//返回堆栈中的元素的个数
	int GetSize();

	//在堆栈中搜索
	int Search(const T& item);


private:

	//堆栈栈顶点位置
	int m_nTop;

	//事实上,有三种方法:
	//第一,通用数组,并指定数组长度
	//第二,动态数组,在构造函数中分配
	//第三,动态收集数组,这种方法时间开销大一点,但方便,
	
	//存储元素的动态数组
	T* m_ptStack;

	//堆栈容量(动态安全数组)
	int m_nCapacity;


};


#ifndef _CTSTACK_CPP
#define _CTSTACK_CPP
#include "TypedStack.cpp"
#endif

#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -