树的定义本是递归定义,所以采用递归的方法实现遍历算法,更加让人理解,且代码简单方便。若采用非递归的方法实现,须得利用栈模拟实现。栈的特点(后进先出)非递归实现二叉树的前序遍历:原理如图所示:参考代码如下:void_PrevOrder(Node*root)//非递归实现前序遍历{ stack&..
分类:
其他好文 时间:
2016-04-23 15:04:29
阅读次数:
118
Linux内核分析期中知识点总结 1. 计算机是如何工作的 存储程序计算机工作模型:冯诺依曼体系结构 X86汇编基础 会变一个简单的C程序分析其汇编指令执行过程 2. 操作系统是如何工作的 函数调用堆栈 模拟存储程序计算机工作模型和时钟中断 在mykernel基础构建一个简单的操作系统 3.构造一个 ...
分类:
系统相关 时间:
2016-04-21 13:18:50
阅读次数:
200
Linux内核分析第九周 期中总结 一、知识概要 1. 计算机是如何工作的 存储程序计算机工作模型:冯诺依曼体系结构 X86汇编基础 会变一个简单的C程序分析其汇编指令执行过程 2. 操作系统是如何工作的 函数调用堆栈 模拟存储程序计算机工作模型和时钟中断 在mykernel基础构建一个简单的操作系 ...
分类:
系统相关 时间:
2016-04-20 21:52:48
阅读次数:
207
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=151 这里可以用栈模拟,也可以用STL,reverse();函数。 但是我这里用栈模拟,PE了,了解一下这个做法吧。 #include <cstdio> #include ...
分类:
其他好文 时间:
2016-04-20 21:36:55
阅读次数:
186
用两个栈模拟队列的思想就是“倒水思想”,这里我们用自定义类型模拟出线性表,再用线性表做容器实现栈的数据结构,最后用栈来实现队列,代码如下:#include<iostream>
#include<string>
#include<cassert>
struct__TrueType//类型萃取
{
boolGet()
{
re..
分类:
其他好文 时间:
2016-04-09 01:49:02
阅读次数:
219
有一个串,有黑色和白色两种元素。一次操作可以把最上面的白色元素变成黑色,同时把这个元素上面的所有元素变成白色。 给你一个30以内的串,计算变成全黑时,元素变化的总和。 我用的方法比较笨,打表处理了1-30个全白串变黑的ans,然后模拟,借助打表的结果计算出答案。 其实,每出现一个白色元素 cnt+=
分类:
其他好文 时间:
2016-02-21 17:10:31
阅读次数:
162
时间:2016-02-03 22:24:52 星期三题目编号:UVA 514题目大意:给定若干的火车(编号1-n),按1-n的顺序进入车站,给出火车出站的顺序,问是否有可能存在分析: FIFO,用栈模拟一遍即可,方法: 根据输入的顺序,从1-n开始,当前操作的为i如果i是当前对应的编号,那么直接跳过...
分类:
其他好文 时间:
2016-02-03 23:31:46
阅读次数:
423
思路:设置两个栈,栈1起入队的作用、栈2起出队的作用.入队时,所有元素进栈1,栈满时会通过realloc函数追加存储空间并且保存原来栈1的元素.出队时,先判断栈2是否为空,若为空,则会判断栈1是否为空,栈1为空,则说明队列为空,栈1不为空则将栈1的元素全部出栈并入栈2,栈2满时依然通过realloc...
分类:
其他好文 时间:
2015-12-31 12:49:17
阅读次数:
237