栈顺序存储结构的C++模板类程序源代码

原创 2016年05月31日 21:38:09

栈顺序存储结构利用一个大数组,相当于简化了的线性表,线性表具有查找、插入、删除等功能,而栈则简化为只包括压入、弹出这种更有针对性的功能。下面是自己写的栈的顺序存储C++模板类源代码:

//linearstack.h
#ifndef LINEARSTACK
#define LINEARSTACK
#include <IOSTREAM>
const int ROOMSIZE=100;
template<class Type>
class LinearStack
{
private:
Type Data[ROOMSIZE];
int top;
public:
LinearStack():top(0){};
~LinearStack(){};
bool Push(Type temp);
Type Pop();
bool IsFull();
bool IsEmpty();
void Print();
};
template<class Type>
bool LinearStack<Type>::Push(Type temp)
{
if(IsFull())
return false;
Data[top++]=temp;
return true;
}
template<class Type>
Type LinearStack<Type>::Pop()
{
if(IsEmpty())
return Type(-111);
top--;
return Data[top];
}
template<class Type>
bool LinearStack<Type>::IsFull()
{
if(top==ROOMSIZE)
return true;
else
return false;
}
template<class Type>
bool LinearStack<Type>::IsEmpty()
{
if(top==0)
{
return true; 
}
else
return false;
}
template<class Type>
void LinearStack<Type>::Print()
{
for(int i=0;i<top;i++)
{
std::cout<<Data[i]<<" ";
}
std::cout<<std::endl;
}
#endif

版权声明:本文为博主原创文章,未经博主允许不得转载。

栈(顺序存储)C++模板实现

#include using namespace std; template class stack{ private: int top; //栈顶指针 int maxLen; //...
  • iamgaowei
  • iamgaowei
  • 2014年04月08日 21:46
  • 1310

C++栈的顺序存储和链式存储的实现

栈是最常见的数据结构,其特点是后进先出(Last In First Out)也是链表的特殊形式,所以和链表一样,有两种存储方式,第一是顺序存储的栈,方便快速读写数据,但是栈的长度必须先固定;第二种是链...
  • shiwazone
  • shiwazone
  • 2015年07月25日 16:36
  • 1303

栈-顺序存储结构-c语言

/*栈 顺序存储结构实现*/ #include//定义常量 存储空间的初始化分配 #define MAXSIZE 20 #define ERROR 0 #define OK 1//用typedef定义...
  • u010187139
  • u010187139
  • 2015年06月28日 18:36
  • 2641

线性表顺序存储结构的C++模板类程序源代码

线性表顺序存储结构说白了就是数组,类定义了两个成员变量:一个足够大的数组和元素个数变量。下面是自己写的一个线性表类,可以直接使用或增加成员函数使用。 //linearlist.h #ifndef LI...
  • Alex123980
  • Alex123980
  • 2016年05月31日 18:22
  • 448

线性表链式存储结构的C++模板类程序源代码

线性表链式存储结构就是链表,刚开始定义该结构的时候,一直困惑于链表的成员变量是否只是一个节点头指针,觉得为什么不能将节点结构体的数据和next节点指针直接作为链表的成员变量呢?现在回过头来想想,是混淆...
  • Alex123980
  • Alex123980
  • 2016年05月31日 19:58
  • 1052

c++模板类实现线性表顺序存储

SeqList.h #pragma once template class SeqList { public: SeqList(void); SeqList(int capacity); ~S...
  • bbs375
  • bbs375
  • 2016年10月05日 11:49
  • 266

栈链式存储结构的C++模板类源代码

采用链表的结构表示栈,具体修改类的成员函数,栈可以视为限制为特定功能的链表结构,每压入一个元素就动态分配内存,弹出元素时释放内存,析构的时候释放整个链表,此处应注意,链表的头指针也是一个动态分配的内存...
  • Alex123980
  • Alex123980
  • 2016年06月01日 10:01
  • 297

队列链式存储结构的C++模板类头文件源代码实现

队列的链式存储结构与链表的区别除了成员函数的不同以外,还有队列的成员变量增加了尾指针,这是因为增加变量需要从链表的尾部添加,若每次从头结点开始遍历的话太费时间,头指针是一个空数据的节点指针,它是一个一...
  • Alex123980
  • Alex123980
  • 2016年06月01日 14:37
  • 582

数据结构之循环队列(顺序表存储)——C++模板类实现

基于数组存储形式的循环队列实现  循环队列的基于数组的存储表示亦称为顺序队列,用一个一维数组elem[maxSize]来实现,其中为了区别队列空与满,该数组中最多存储maxSize-1个元素,如此一来...
  • Mrx_Nh
  • Mrx_Nh
  • 2017年03月11日 14:00
  • 341

C++类模板 实现循环队列的顺序存储结构算法 《数据结构》(北京科海) 部分摘抄 自己编写实现

循环队列的顺序存储结构       这里需说明一点:满队列时实际仍有一个元素的空间未使用,(rear+1)%maxSize == front 为满队列判断条件。若不留这个元素空间,则队尾指针rear...
  • xingfudaiyan
  • xingfudaiyan
  • 2012年11月19日 15:16
  • 522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:栈顺序存储结构的C++模板类程序源代码
举报原因:
原因补充:

(最多只允许输入30个字)