
数据结构和算法
shiwazone
这个作者很懒,什么都没留下…
展开
-
C++的逆波兰表达式的求解
逆波兰表示法(Reverse Polish notation,RPN,或逆波兰记法),是一种是由波兰数学家扬·武卡谢维奇1920年引入的数学表达式方式,在逆波兰记法中,所有操作符置于操作数的后面,因此也被称为后缀表示法。逆波兰记法不需要括号来标识操作符的优先级。逆波兰结构由弗里德里希·鲍尔(Friedrich L. Bauer)和艾兹格·迪科斯彻在1960年代早期提议用于表达式求值,以利用堆栈原创 2015-07-26 14:45:09 · 6579 阅读 · 0 评论 -
C++ 模版类的单向循环链式线性表
基于之前做的单向链式线性表http://blog.youkuaiyun.com/shiwazone/article/details/47000191,改进下,实现了循环链表,相对应单向链表,循环链表将尾节点的指针域指向头节点,加入循环,可以让我们在查找某一个index的节点时,可以先判断一下位置和链表长度的关系,如果index处于链表的前半部分,我们可以从头节点遍历查找,如果处于后半部分,我们可以从尾节点往前原创 2015-07-23 08:56:03 · 1261 阅读 · 0 评论 -
C++ 模版类的单向链式线性表
先上代码!以后再仔细编辑!头文件#pragma oncetemplateclass ChainList{public: struct Node { EleType _data; Node* _next; Node(){ _next = nullptr; } Node(EleType data){ _data = data; _next = nullptr;原创 2015-07-22 11:04:47 · 1490 阅读 · 0 评论 -
静态链表的C++实现
静态链表是使用数组实现的可以快速插入和删除数据的链表,静态链表和链式单链表比的缺点在于链表的长度只能初始化设置好,而相对应普通的顺序存储的链表,静态链表不能实现快速的读写任意的元素。当然静态链表给了我们一种思考方式,当我们在特定状态下,不能使用指针操作时,我们可以使用一种替代指针的方法,静态链表使用的cur来表示当前节点的下一个节点的下标。#pragma once#define MAXS原创 2015-07-22 12:21:20 · 5531 阅读 · 0 评论 -
C++栈的顺序存储和链式存储的实现
栈是最常见的数据结构,其特点是后进先出(Last In First Out)也是链表的特殊形式,所以和链表一样,有两种存储方式,第一是顺序存储的栈,方便快速读写数据,但是栈的长度必须先固定;第二种是链式存储的栈,可以不用定义栈的长度,可以大量插入数据,如果不是物理内存使用完的话,可以存储大量的数据。首先,顺序存储的栈的实现,代码如下:#pragma once#define MAXSIZE原创 2015-07-25 16:36:30 · 2327 阅读 · 0 评论