C++实现顺序栈的基本功能
2014-10-07 13:30
176 查看
栈是限定仅在表头进行插入和删除操作的线性表,有着先进后出的特点(FILO);
现在我来动手实现栈的基本本功能练练手;
定义栈的头文件如下:
实现基本功能如下:
现在我来动手实现栈的基本本功能练练手;
定义栈的头文件如下:
#ifndef CSTOCK_H_ #define CSTOCK_H_ const int STOCK_SIZE = 100;//定义栈的大小 typedef int elemType;//定义栈元素类型,目前仅用int来练手 class CStock { public: CStock(); //构造函数,构造空栈; bool push(elemType x); //进栈操作; bool pop(elemType &x); //出栈操作; void clear(); //清空栈; bool isEmpty(); //判断是否栈空; bool isFull(); //判断是否栈满; void print(); //打印栈内元素; ~CStock(); private: elemType elem[STOCK_SIZE]; int top;//指向栈顶; }; #endif
实现基本功能如下:
#include "Stock.h" #include<iostream> using std::cout; using std::endl; //构造函数 CStock::CStock():top(-1) { } //进栈操作,进栈成功返回true,否则返回false; bool CStock::push(elemType x) { if(top == STOCK_SIZE - 1) { return false; } elem[++top] = x; return true; } //出栈操作,由形参x将元素带出主调函数,出栈成功返回true,否则返回false; bool CStock::pop(elemType &x) { if(top == -1) { return false; } x = elem[top--]; return true; } //清空栈,使栈为空; void CStock::clear() { top = -1; } //判断栈是否为空 bool CStock::isEmpty() { return top == -1; } //判断栈是否栈满 bool CStock::isFull() { return top == STOCK_SIZE - 1; } //打印栈 void CStock::print() { for(int i = 0; i <= top; i++) { cout << elem[i] << "\t"; if( (i+1) % 5 == 0) cout << endl; } } //析构函数 CStock::~CStock(void) { }
相关文章推荐
- C++实现顺序栈的基本功能
- C++实现顺序栈的基本功能
- 重写c++中string类,实现基本string功能
- 数据结构--顺序表基本功能实现程序…
- C++入门:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数
- 康威生命游戏 第一部分-基本功能实现(C++ & Windows SDK)
- 数据结构C语言版--静态顺序表的基本功能实现(一)
- 顺序表 -- 基本功能实现(仿书结构)
- c++中string类的基本功能的实现(1)
- C++实现顺序结构线性表的基本操作
- 顺序队列的基本操作实现c++
- C++实现顺序表的基本操作
- 算式计算器C++实现代码(顺序栈结构 增加了一些功能 求指教)
- 数据结构与算法学习 第1季02 链表的基本功能 C++实现
- C++实现单链表的几个基本功能
- 算式计算器C++实现代码(顺序栈结构 增加了一些功能 比如三角函数 求指教)
- C++链式栈的简单实现(只有基本功能)
- 顺序表 -- 基本功能实现(仿书结构)
- 数据结构--顺序栈基本功能实现程序…
- 数据结构C语言版--动态顺序表的基本功能实现(二)