
栈
文章平均质量分 59
acm_JL
这个作者很懒,什么都没留下…
展开
-
判断回文串
栈的实现 也很简单,只需要一个一维数组和一个指向栈顶的变量 top 就可以了。我们通过 top 来对栈 进行插入和删除操作。解题思路:首先我们需要读取这行字符串,并求出这个字符串的长度,如果一个字符串是回文的话,那么它必须是中间对称的,我们需要求中点,中点 之前的字符全部入栈。因为这里的栈是用来存储字符的,所以这里用来实 现栈的数组类型是字符数组即 char s[101];,初始化栈很简单原创 2016-03-05 15:34:11 · 1512 阅读 · 0 评论 -
合法的括号
//解题思路:逐个遍历,如果遇到左括号就压入堆栈,遇到右括号就出栈,这样的话如果最后栈是空的就说明合法,否则就不合法#include#includeusing namespace std;int main(){ char s[100],a[100]; int top,sum; top=-1;//表示栈底 cin>>a; for(int i=0;i<strlen(a);i++)原创 2016-03-05 22:19:08 · 1300 阅读 · 0 评论 -
用栈实现将十进制数转换为任意进制数(2,8,16...).
解题思路:假如N为输入的数,n为要转换为的进制,若要将十进制231转换为8进制数,过程如下;N N/n N%n231 28 728 3原创 2016-03-06 15:19:07 · 26975 阅读 · 0 评论 -
利用栈实现一个编辑器
再来看一个行编辑程序的示例,用户在终端输入字符,完成后保存用户的数据区, 因为在输入的过程中可能出错,需要修改,所以不可能每输入一个字符就存入数据区。比较好的做法是先在内存里开一个输入的缓冲区,当用户输入完成一行后,再存入数据区。在行内可以修改。例如,当用户发现刚输入的一个字符是错的之后,可以再输入一个'#',表示前一个字符是错的,如果发现当前行输入的错误太多,可以输入一个退行符'@',表示当前行原创 2016-03-06 20:23:34 · 1796 阅读 · 0 评论 -
Rails
题目链接http://poj.org/problem?id=1363题意:火车按照1-n的顺序进入车站,能不能将原创 2016-03-07 16:05:37 · 2047 阅读 · 0 评论 -
判断布尔表达式
#include#include#includeusing namespace std;const int len =120; char infix[len],suffix[len];void infixtosuffix()//将前缀表达式转换成后缀表达式 { int top=-1,i=0,j=0; char ch=infix[0],stk[len]; while(ch!=原创 2016-03-07 16:49:39 · 2674 阅读 · 0 评论 -
利用栈计算表达式的值
假设算术表达式只包含”+”、“-”、“*”、“/”、正整数和括号的合法数学表达式,求算术表达式值。过程是:先将算术表达式转换成后缀表达式(逆波兰式),然后对该后缀表达式求值。 1)将算术表达式exp转换成后缀表达式postexp; 2)对后缀表达式postexp求值。 中缀表达式a*b+c变成后缀表达式是ab*c+(1)中缀表达式转换成后缀表达式:a原创 2016-04-01 00:11:50 · 13035 阅读 · 1 评论