数据结构之栈复杂数据应用实现(2)
来源:互联网 发布:linux使用教程.pdf 编辑:程序博客网 时间:2024/05/21 21:48
#include<iostream>#include"MyStack.h"using namespace std;/* 栈 要求: 1.定义Coordinate坐标类 2.改造栈类,使其可以适用于坐标类 目的:理解抽象数据类型在栈中的应用*/int main(){ Coordinate c1(1, 2); Coordinate c2(1, 3); Coordinate c3(1, 4); MyStack *pStack = new MyStack(4); pStack->push(c1); pStack->push(c2); pStack->push(c3); pStack->stackTraverse(); delete pStack; pStack = NULL; return 0;}
#ifndef COORDINATE_H#define COORDINATE_Hclass Coordinate{public: Coordinate(){} Coordinate(int x, int y); void printCoordinate();private: int m_iX; int m_iY;};#endif
#include"Coordinate.h"#include<iostream>using namespace std;Coordinate::Coordinate(int x, int y) :m_iX(x), m_iY(y){}void Coordinate::printCoordinate(){ cout << "(" << m_iX << "," << m_iY << ")" << endl;}
#ifndef MYSTACK_H#define MYSTACK_H#include"Coordinate.h"class MyStack{public: MyStack(){} MyStack(int size); //分配栈空间 ~MyStack(); bool stackEmpty(); bool stackFull(); void clearStack(); int stackLength(); bool push(Coordinate elem); bool pop(Coordinate &elem); void stackTraverse();private: Coordinate *m_pBuffer; //栈空间指针 int m_iSize; //栈容量 int m_iTop; //栈顶,栈中元素个数};#endif
#include "MyStack.h"#include<iostream>#include"Coordinate.h"using namespace std;MyStack::MyStack(int size){ m_iSize = size; m_iTop = 0; m_pBuffer = new Coordinate[size];}MyStack::~MyStack(){ delete[] m_pBuffer; m_pBuffer = nullptr;}bool MyStack::stackEmpty(){ if (0==m_iTop) return true; return false;}bool MyStack::stackFull(){ if (m_iTop == m_iSize) return true; return false;}void MyStack::clearStack(){ m_iTop = 0;}int MyStack::stackLength(){ return m_iTop;}bool MyStack::push(Coordinate elem){ if (stackFull()) return false; m_pBuffer[m_iTop++] = elem; return true;}bool MyStack::pop(Coordinate &elem){ if (stackEmpty()) return false; m_iTop--; elem = m_pBuffer[m_iTop]; return true;}void MyStack::stackTraverse(){ for (int i = 0; i < m_iTop; i++) m_pBuffer[i].printCoordinate();}
0 0
- 数据结构之栈复杂数据应用实现(2)
- 第<2>章 实现复杂的数据结构
- 数据结构顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 数据结构之栈的应用----算术表达式的实现
- 数据结构java语言实现之栈及其应用
- 数据结构之环形队列应用(2)
- 数据结构(C语言)读书笔记6:栈的应用之括号匹配的C代码实现
- 数据结构(21)栈与递归应用之汉诺塔递归实现
- 数据结构之栈实现
- 数据结构实现之栈
- 胖子哥的大数据之路(二)- 大数据结构化数据存储应用模式
- 数据结构之栈的应用
- 数据结构之 栈的应用
- 12、数据结构笔记之十二栈的应用之栈与递归之阶乘实现
- win8之复杂数据绑定
- 第二章 实现复杂的数据结构
- 数据结构之单链表实现栈(C++)
- 数据结构之-栈(Java实现)
- php简单socket服务器客户端代码实例
- 打印UIView的方法
- PHP——AJAX 与 XML
- Ubuntu14.04+CUDA8.0+TitanX+caffe配置教程
- linux端口映射
- 数据结构之栈复杂数据应用实现(2)
- oracel存储过程 创建错误:ORA-06550: line 2, column 2:PLS-00905
- 截取打印机的数据
- 二分查找,数组去重Java
- 在CentOS上搭建PHP服务器环境
- CountDownLatch使用
- Hadoop初探(一)
- SpringBoot项目在eclipse启动成功,在idea中失败
- ZCMU 1143: 又是比智力