现在有迷宫地图:(回溯法)1111111111111111111100011111111101111111110111111111011111111100000011110111101111011110111101111111将迷宫地图存于文件中,将文件里的信息依次读入到二维数组中,设置入口,先将其压栈,然后将其设置为2,以便于进行回溯操作,然后进行上下左..
分类:
其他好文 时间:
2016-04-11 18:59:39
阅读次数:
216
1、栈的应用1解决迷宫问题问题:一个n*n的0、1矩阵,0表示可以走通,1表示不可以走,假定矩阵的下边是出口,给定矩阵的入口坐标,求出走出迷宫的路径这里用栈主要是解决如图所示走不出去会退时上一步(出栈)位置的记录以及记录已经走过的路径(压栈)扩展:(1)非递归法实现(..
分类:
编程语言 时间:
2016-04-11 15:49:47
阅读次数:
366
list uva,127 前面见过几次类似的模型了。似乎输入输出差不多形式。 考虑vector或list里面放stack。因为这道题目只涉及到随机访问,所以vector相对要快一点。 因为每次其左边的第一个或第三个与其与其匹配时,就把它放在左一或左三上。有木有压栈的感觉~~ 1 #include < ...
分类:
其他好文 时间:
2016-04-10 00:56:54
阅读次数:
244
非递归算法中序遍历二叉树,设S为一个栈,p为指向根节点的指针,处理过程如下: 1)当p非空时,压栈p指针,并将p指向该节点的左子树。 2)当p为空时,弹出栈顶元素,显示节点元素,并将p指向该节点的右子树。 3)重复步骤1)和2),直到栈空且p空。 即用指针和栈实现递归保存之前的信息。 ...
分类:
其他好文 时间:
2016-04-07 13:19:15
阅读次数:
137
首先,先说说栈。栈:后进先出的数据结构,它叫做栈。回文:就是像这样:“123321”,“1221”。等就是回文。解决方法:先把字符串前半截123或12压栈,然后再出栈和字符串后半截321比较,就OK。上代码:#include<stdio.h>
#include<stdlib.h>
#include<string.h&..
分类:
其他好文 时间:
2016-04-01 16:26:09
阅读次数:
190
//环境centos5.x//程序实例1:
#include<stdio.h>
#include<stdlib.h>
voidbug()
{
system("reboot");//rebootsystem
exit(0);//endprocess
}
intstack_test(inta,intb)//函数压栈中依次压入主函数a,b拷贝值,b在高地址
{//压栈顺序是参数从右到左,然后栈帧..
分类:
系统相关 时间:
2016-04-01 06:48:29
阅读次数:
178
上学期学习了汇编语言,并在操作系统实验中使用了汇编+C语言混合编程,中间也了解了一些C语言与汇编语言的对应关系。 由于汇编语言是底层的编程语言,各种函数参数都要直接控制栈进行存取,在混合编程中,要用汇编来调用C函数,当然就要知道参数的压栈情况了。 当知道C函数的参数压栈顺序是从右到左时,我觉得很奇怪
分类:
编程语言 时间:
2016-03-21 19:49:26
阅读次数:
158
判断: 如果下一个弹出的数字刚好是栈顶元素,那么直接弹出如果下一个弹出的数字不在栈顶,我们要把压栈序列中,还没有入栈的数字压入辅助栈,知道把下一个需要弹出的数字压入栈顶如果所有的数字都入栈,但是仍然没有找到下一个弹出的数字,那么该序列不可能为弹出序列。123456789101112131415161...
分类:
其他好文 时间:
2016-03-16 22:21:38
阅读次数:
257
c++的重载是指同一函数名可实现不同的功能,成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。 本次计算器中,中缀转后缀需要进行符号压栈,而计算的时候需要数字的计算,而栈的实现可以通过重载来实现,即提高效率又能更方便
分类:
编程语言 时间:
2016-03-13 00:33:51
阅读次数:
189
C++语言支持函数内联,其目的是为了提高函数的执行效率(速度). 宏的优点 在C程序中,可以用宏代码提高执行效率。 编译预处理器用拷贝宏代码的方式取代函数调用,省去了参数压栈,生成汇编语言的CALL调用、返回参数、执行return等过程,从而提高了速度。 宏的缺点 1、最大缺点是容易出错,预处理器在
分类:
其他好文 时间:
2016-03-02 00:20:21
阅读次数:
207