(001)顺序栈的C++实现
2014/12/4 jxlijunhao
这里通过C++模板类来实现一个顺序栈:
1)初始化
2)入栈
3)出栈
4)取栈顶元素
定义一个头文件
#ifndef SQ_STACK_H
#define SQ_STA...
分类:
编程语言 时间:
2014-12-04 23:17:53
阅读次数:
385
题目大意:给定一棵有根树,提供下列操作:
1.询问某个点到根路径上的点权和
2.修改某个点的父亲,保证修改之后仍然是一棵树
3.将某个点所在子树的所有点权加上一个值
子树修改,LCT明显是搞不了了,在想究竟会不会有人去写自适应Top-Tree……
首先我们DFS搞出这棵树的入栈出栈序 然后入栈为正出栈为负
那么一个点到根的路径上的点权和就是从根节点的入栈位置到这个点的入栈位置的和
子...
分类:
其他好文 时间:
2014-12-01 17:41:14
阅读次数:
139
题目大意:给出一棵树,要求有以下这些操作:1.求出一个节点到根的点权和。2.将一个节点的父亲改变。3.将一个子树中的每一个节点都加上一个权值。
思路:LCT就不用想了,因为有子树操作。然后就是一个很神奇的东西了,就是Splay维护树的入栈出栈序。这个玩应是做了这个题之后才知道的。但是感觉真的很dio。
首先,我们先按照题意,将树建出来。然后从根开始深搜,这样一个点进入DFS函数和出DF...
分类:
其他好文 时间:
2014-12-01 17:41:03
阅读次数:
258
一、栈的定义栈是限定仅在表尾进行插入和删除操作的线性表;栈又称为后进先出的线性表(LIFO)。栈顶:允许插入和删除操作的一端称为栈顶;而另一端则为栈底。栈的操作:插入数据称为进栈(压栈、入栈);栈的删除操作称为出栈(弹栈)。如下图所示: 二、栈的抽象数据类型 栈是一种特殊的线性表,因...
分类:
其他好文 时间:
2014-12-01 00:38:49
阅读次数:
192
Android中消息队列postDelay+Dialog引起的窗体泄露的主要原因是,当床窗体压入栈或者finish掉后,Activity由于需要处理postDelay而不能及时销毁,因此造成了一个问题,当dialog触发show方法时,由于window和activ...
分类:
移动开发 时间:
2014-11-25 09:23:36
阅读次数:
195
栈和队列都是动态集合,元素的出入是规定好的。栈规定元素是先进后出(FILO),队列规定元素是先进先出(FIFO)。栈和队列的实现可以采用数组和链表进行实现。在标准模块库STL中有具体的应用,可以参考http://www.cplusplus.com/reference/。
栈的基本操作包括入栈push和出栈pop,栈有一个栈顶指针top,指向最新如栈的元素,入栈和出栈操作操作都是从栈顶端进...
分类:
编程语言 时间:
2014-11-24 10:11:18
阅读次数:
155
1 ////////////////////////////////////////////////////////// 2 // stack.cpp 3 // 4 // author:Leetao 5 //////////////////////////////////////////...
分类:
其他好文 时间:
2014-11-22 00:43:08
阅读次数:
141
这次在原基础上添加了对于括号的支持,主要改进在如果碰到括号就将他压入栈中,同时具有最低优先级的输出(因为直到读取到了右括号左括号才被弹出)。主要代码如下,可以对照着上一篇随笔看,stack头文件是一样的。main.cpp 1 #include "stack.h" 2 #include "string...
分类:
其他好文 时间:
2014-11-21 21:43:53
阅读次数:
292
因为在编程中,使用{}()[]等都是成对出现的,因此可以使用栈来进行一些匹配判断。原理:读取一段字符串,如果遇到{([这些开放字符,就将其压入栈中,如果读到})]这些封闭字符,就与当前栈顶的符号进行比较,如果栈顶的符号正好是其对应的开放符号,将栈顶元素弹出,继续读取。否则,出现警告。但是如果弹出栈顶...
分类:
其他好文 时间:
2014-11-21 01:15:15
阅读次数:
324
题目地址:1021. Couples思路: 想清楚了这道题其实很简单。利用夫妻出现的位置作为下标,并设为同一值,第一对夫妻值为1,第二对为2,以此类推,存储完毕即可进入下一步。 利用栈这个数据结构:遍历这个数组,当栈不为空且栈顶元素等于数组出现的元素时,pop掉栈顶元素,其余情况则入栈。循环完毕.....
分类:
其他好文 时间:
2014-11-20 01:14:47
阅读次数:
175