栈之顺序栈
来源:互联网 发布:软件开发人员职位 编辑:程序博客网 时间:2024/05/01 23:59
数据结构草草学过,不过没有认真运用过。 虽然知道一些最为基本的抽象类型及一些常用操作,不过叫我把这些基本的算法写出来我也是写不出来的。因为常说数据结构+算法是一个程序员最基本的素质,所以这次认真加以复习。在复习的同时我尽量将自己学习的其他的一些基本知识比如C++中的面向对象思想也引入进来,同时也会将在复习中碰到其他的一些问题提出来,能解决的便解决,不能解决的可以试着解决。
To be a programmer .
栈是一种限定性的线性表,是将线性表的插入和删除运算限制为仅在表的一端进行,通常将表中允许进行插入、删除操作的一端称为栈顶
。
同样地,栈在计算机中也有两种基本的存储结构:顺序存储结构和链式存储结构。通常称顺序存储的栈为顺序栈,链式存储的栈
为链栈。本文档只涉及顺序存储结构,顺序结构可用高级程序设计语言中的数组来模拟。
文章的组织结构分为三部分:开头是简单的介绍,之后是数据结构基本运算的代码,最后是在复习中遇到的一些问题。
以下代码实现了一些线性表最基本的运算,有关代码的三点说明:
1) 运用了C++中的类模版概念;
2) 自己定义了有关栈的简单的异常层次结构。
3) 因为栈就是一种特殊的线性表,这次代码没有像之前顺序表那样详细注释了每个函数的各种信息。
实现代码分三个部分:stackexception.h定义针对栈的异常类,stack.h定义了模版类,main.cpp进行简单的测试,因为本节的重点是对异常类的捕获进行测试,所以一些诸如打印出栈的元素没有进行实现, 不过这些基本运算与线性表的类同。
在平时写C++程序时我通常喜欢将类的定义放在头文件中,把类的实现放在文本文件中。但是,在使用模版的时候对此则有所注意,通常模版在编译之时有两种编译模式,一种为包含编译模式,在这种模式下,每个模版被实例化的文件中必须包含函数模版/类模版及其成员的定义。另一种方式为分离编译模式,这种模式下函数模版/类模版能够像普通函数/普通类那样进行组织,即将声明与实现相分离。
上面的代码采用的是包含模式,我将类模版的定义及其成员实现均放在头文件stack.h中。
- 栈之顺序栈
- 栈之顺序栈
- 栈之顺序栈
- 栈之顺序栈
- 栈之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- 数据结构之顺序栈
- DS之顺序栈
- 数据结构之顺序栈
- C#之顺序栈
- 栈之顺序实现
- 数据结构之顺序栈
- 三维数组
- java中equals方法和“==”的区别
- Meet the new WSS - SharePoint Foundation 2010
- 关于文件路径的那些事
- MOSS 2010:谁动了我的“共享服务”
- 栈之顺序栈
- Testinside MB7-849 认证考试题库内容分享
- MOSS 2010:Visual Studio 2010开发体验(1)——SharePoint Explorer
- ILP32、ILP64、LP64、LLP64、64位系统
- CentOS 5.4 下 VMWare server 2.0 崩溃 http 12029
- MATLAB中图像函数大全1
- Service Broker 体系结构
- 在客户端代码中怎样引入jQuery文件
- 方便的 GDI+ 轻松修改图片及保存图片