栈相关题目
kelvinmao
这个作者很懒,什么都没留下…
展开
-
栈的链式存储(含源码)
在学习栈的过程中,由于顺序栈的最大长度需要提前确定,失去了链表的灵活性,于是我开始思考能否将链表与栈有机结合,之后在《大话数据结构》一书中找到了答案,也就是栈的链式存储,下面对我在使用C语言实现链栈过程中的问题加以总结与反思。#include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 #define TRUE 1 #defin原创 2016-03-19 11:08:08 · 507 阅读 · 0 评论 -
双栈共用存储空间
*在学习栈的过程中,如果有两个相同元素类型的栈(一长一短)那么如果分配一个相同大小的maxsize,很容易造成一个栈没有只有很少的元素而另一个栈达到了maxsize。如何解决这个问题,我在《大话数据结构》一书中找到了解决方案,双栈公用一个较大的存储空间,使一个栈的栈底处于数组的0位,另一个栈的栈底处于(maxsize-1)位如图所示*#include<stdio.h> #include<std原创 2016-03-18 16:47:40 · 2680 阅读 · 0 评论 -
栈的顺序存储
今天学习了栈的顺序存储结构,基本操作与线性表类似,较为简单,未遇到难以解决的问题,但在处理数组的时候还需细心!!!代码如下:#include<stdio.h> #include<stdlib.h> #include<time.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define maxsize 10//定义最大存原创 2016-03-18 10:55:51 · 803 阅读 · 0 评论 -
栈用于解决括号匹配问题
在编写程序的过程中,我们经常需要对一串括号是否匹配进行判断。如何判断呢?我们可以借助栈来进行判断。基本思路是:遍历字符串,当发现有右括号而此时的栈顶元素又恰好是与之匹配的左括号时,则栈顶元素出栈;其余情况全部入栈,代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #define OK 1 #define ERROR 0 #de原创 2016-04-07 23:01:26 · 4740 阅读 · 0 评论 -
回溯法和栈的思想用于“八皇后问题”的求解
八皇后问题是一个经典的问题,其核心是:在n*n的棋盘上,有n个皇后,这些皇后必须位于不同行不同列上,并且不能处于同一对角线上,否则会因相互攻击而死亡。那么如何安排皇后们的位置呢? 我们可以利用回溯法,先确定第一个皇后的位置,之后进入下一行,确定第二个皇后的位置,再之后进入下一行,如果发现找不到一个位置安排新皇后,则回退到上一行,将上一行的皇后向后移动一列,再考虑下一行的皇后,如此循环,直到安排好所有原创 2016-04-03 11:17:28 · 4480 阅读 · 0 评论 -
栈的思想用于求解迷宫问题
迷宫问题是一个经典的问题,当迷宫规模较大时,手工求解是十分困难的,所以用善于进行重复繁琐计算的计算机来求解便十分合适。基本思想和解决“八皇后问题” 的思想一致,都是利用回溯法。从入口开始,探索每一个迷宫中没有被墙挡住的位置,如果该位置可以移动到下一个位置,则标记该位置已被探索过并入栈;如果不能移动到下一位置,则标记为探索失败并回退到上一个位置,如果最终退回了出发点,则说明迷宫无解。下面附上代码:#i原创 2016-04-08 22:14:41 · 1160 阅读 · 0 评论