最近在看严蔚敏的数据结构,以下是参照 http://blog.csdn.net/WLxinliang/article/details/52894338 手写的顺序栈的实现代码: 1.头文件定义了常数项 2.九种基本操作 3.操作例子 4.案例--数制转换 ...
分类:
其他好文 时间:
2017-07-17 22:11:47
阅读次数:
212
首先看一下手写的栈: 我们可以发现。x是与index的上一个元素比较的 举个例子 栈:1 3 2 4 5 x=2 这样的话会输出 5 4 2 但是stl不支持和栈顶的上一个元素比较,因为上一个元素一定是被pop掉的。 那么我们可以怎么实现呢? 1.首先我们需要明白一点,如果我们把循环的条件改为 那么 ...
分类:
其他好文 时间:
2017-07-11 11:11:45
阅读次数:
166
栈也是一种线性表,只不过是受限制的线性表 他只能从一端读取或者删除元素。栈也分为顺序栈和链表栈 顺序栈不需要额外的空间来指明下个节点的位置,空间利用率高 但是不能动态扩容,而链表栈刚好与之相对。 ...
分类:
其他好文 时间:
2017-07-08 21:56:33
阅读次数:
262
以下内容都是来自“悟空“大神的讲解,听他的视频课,利用Python实现堆栈的算法,自己做了一些小总结,可能会存在自己理解的一些误区, 1.栈的实现 队列的特征是先进先出,同我们生活中的队列具有相同的特性:先排队的先办事。队列的应用场景非常多,例如消息通信、多进程间的协同、多线程间的协同等。 在算法前 ...
分类:
编程语言 时间:
2017-06-30 17:20:41
阅读次数:
204
http://www.cnblogs.com/zmkeil/archive/2013/05/01/3053545.html 这个标题起得比较纠结,之前熟知的PPPOE是作为PPP协议的底层载体,而实际上它也是一个完整的协议,不过它的实现比较简单,由它出发,可以很容易理清楚Linux网络栈的实现方式。 ...
分类:
系统相关 时间:
2017-06-13 12:37:58
阅读次数:
301
栈的定义: 栈是一种特殊的线性表 栈仅能在线性表的一端进行操作 栈顶:同意操作的一端 栈底:不同意操作的一端 栈的性质: LIFO 后进先出原则 链式栈 linkStack.h #ifndef _LINKSTACK_H_ #define _LINKSTACK_H_ typedef void Link ...
分类:
其他好文 时间:
2017-05-13 13:28:36
阅读次数:
250
前面介绍的模板有关知识大部分都是用顺序表来举例的,现在我们就专门用模板来实现顺序表,其中的很多操作都和之前没有多大区别,只是有几个比较重要的知识点需要做专门的详解。 问题一实质同下面的问题3,后面再做详细分析。 这里很有必要详解实现上面赋值运算符重载的现代写法的实现原理 :首先看上面代码(list1 ...
分类:
编程语言 时间:
2017-05-02 23:31:10
阅读次数:
342
一、栈的基本定义 栈是一种数据结构,它代表一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入、删除操作的特殊线性表,通常就是在线性表的尾端进行插入、删除操作。 二、顺序栈的实现 顺序栈是利用一组地址连续的存储单元依次存放从栈底到栈顶的数据元素,栈底位置固定不变,它的栈顶元素 ...
分类:
编程语言 时间:
2017-04-30 12:41:17
阅读次数:
183
// 数据结构 栈的实现 C语言, 只能从头部储存和销毁数据 # include # include # include // 线性储存部分 typedef struct NONE { int data; struct NONE * pNext; }None, * pNone; // 栈的头部和底部... ...
分类:
其他好文 时间:
2017-04-16 13:29:07
阅读次数:
259
运行结果: 出栈前的长度1 出栈前的栈顶元素2 出栈2 出栈后的长度2 出栈后的栈顶元素1 分析:该代码主要包括出栈、入栈、取栈顶元素、栈空、栈满以及栈的大小。其实栈的实现整体上不难,但要判断是否要扩容以及栈空等细节情况 ...
分类:
其他好文 时间:
2017-04-13 21:57:37
阅读次数:
226