不使用库实现栈的基本操作
来源:互联网 发布:今日头条数据运营待遇 编辑:程序博客网 时间:2024/05/29 03:17
template<typenameT>
classStack
{
public:
Stack()
:_a(NULL)
, _size(0)
, _capacity(0)
{ }
voidPush(constT&x)//相当于数组的尾插
{
_CheckCapacity();
_a[_size++] =x;
}
voidPop()//移去栈顶元素,栈顶指向数组的最后一个数据
{
if(_size != 0)
{
_size--;
}
}
T& Top()//返回栈顶元素,即数组的最后一个元素
{
return_a[_size-1];
}
boolEmpty() //如果栈为空,则返回true,否则,返回false
{
if(_size == 0)
{
returntrue;
}
else
{
returnfalse;
}
}
size_tSize() //返回栈中元素数目
{
return_size;
}
void_CheckCapacity()
{
if(_size == _capacity)
{
T* temp =newT[_capacity * 2 + 3];
for(intindex = 0; index < _size; ++index)
{
temp[index] = _a[index];
}
delete[] _a;
_a = temp;
_capacity = _capacity * 2 + 3;
}
}
protected:
T* _a;
size_t_size;
size_t_capacity;
};
intmain()
{
Stack<int> s;
s.Push(3);
s.Push(2);
s.Push(1);
//s.Pop();
//s.Empty();
intret=s.Top();
cout << ret << endl;
system("pause");
return0;
}
0 0
- 不使用库实现栈的基本操作
- 不使用库实现队列的基本操作
- 栈的实现及基本操作
- 用数组实现栈的基本操作
- 顺序栈的基本操作实现
- 顺序栈的基本操作实现
- 顺序栈的基本操作实现
- 链栈的基本操作实现
- 栈的基本操作实现-c/c++
- 栈的实现及基本操作
- C++实现链栈的基本操作
- 栈和队列的基本操作实现
- 1044 顺序栈基本操作的实现
- 链式栈的基本操作与实现
- C语言实现栈的基本操作
- c++实现栈的基本操作
- 顺序栈的基本操作实现c++
- 链式栈的基本操作实现c++
- iOS 裁剪图片
- C# 处理批量插入数据(事物) mysql oracle sqlserver三个版本
- 天体物理 —— 开普勒三大定律
- error lnk1158 无法运行cvtres.exe
- Oracle体系结构详细图解
- 不使用库实现栈的基本操作
- CentOS下nano编辑器使用教程
- 对于java和前端方面自己的看法
- 隐藏Activity到后台而不关闭
- Android Service学习之AIDL, Parcelable和远程服务
- Cadence基础知识3(Allegro常规封装绘制 )
- Selenium WebDriver 中鼠标和键盘事件分析及扩展
- spring-boot-data-redis线程池配置
- RecyclerView简易加载更多