出栈序列的统计
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
栈是常用的一种数据结构,有n个元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出...
分类:
其他好文 时间:
2014-10-29 00:14:21
阅读次数:
215
项目做久了,我发现自己对代码的实现能力越来越差劲了!经过前一段时间找工作的经历就可以明显感觉的到自己的代码熟练度不够!因此,今后要多加练习。要想做好一个优秀的程序员就要多敲代码,多思考。
★结题思路
利用了栈的思想,将整数N与R求得的余数压栈,然后将N/R与R求得的余数压栈,知道N/R小于R为止。可以利用数组来模拟栈的操作,可以将余数存入数组中然后倒序输出!
★代码实现
#incl...
分类:
其他好文 时间:
2014-10-27 14:25:29
阅读次数:
203
题目:用两个队列实现一个栈,并分析栈操作运行时间分析:栈的操作只能在表头进行;而队列的入队在表头进行,出队只能在栈尾进行;考虑将栈底元素变为栈顶元素,即进行倒置,就能在表头进行Pop操作;解答:(不考虑溢出)1、使用两个队列A与Tmp,Tmp队列作为中转;2、当进行Push操作时,在队列A中进行入队...
分类:
编程语言 时间:
2014-10-18 14:02:04
阅读次数:
198
这个题主要考的对栈的操作,题目的意思是:有一组由小括号组成的队列S,P(i)表示当前队列中第i个右括号前面的左括号的个数,W(i)表示左括号和右括号配对成功的里面的右括号的个数(包括当前的左右括号)。要求是:输入P的值,计算输出W的值。 我的思路是:根据P的输入值计算出当前的队列S,左括号用0...
分类:
其他好文 时间:
2014-09-21 01:24:59
阅读次数:
275
最长不降子序列,O(n^2)算法能超时超到明年需要o(nlogn)算法(CMI)这个问题利用到了辅助数组d[i],这里姑且称它为栈,因为对该数组的操作像是栈的操作,d[i]表示长度为i的不降子序列中最小的最后元素,最后栈的长度就是最长不降子序列的长度当循环到a[i]的时候和栈顶元素s比较,如果sa[...
分类:
其他好文 时间:
2014-08-26 21:07:46
阅读次数:
186
栈
栈类似于箱子。
静态栈、动态栈。
关于栈的操作
#include
#include
#include
typedef struct Node
{
int data;
struct Node *pNext;
}NODE, *PNODE;
typedef struct Stack
{
PNODE pTop;
PNODE pBottom;
}STACK, *PSTACK;
...
分类:
其他好文 时间:
2014-08-24 16:45:42
阅读次数:
179
火车进站,模拟一个栈的操作,额外的栈操作,查看是否能按照规定顺序出栈。
数据量很少,故此题目很容易AC。
直接使用数组模拟就好。
#include
const int MAX_N = 10;
char inOrder[MAX_N], outOrder[MAX_N], stk[MAX_N];
bool rs[MA...
分类:
其他好文 时间:
2014-08-12 03:27:23
阅读次数:
232
有n辆火车 按1到n的顺序进站 最后进站的车可以在任何时候出去 判断给定的出站序列是否可能
火车只有两种状态 从A进站 或者从站到B 模拟栈的操作就行了
令A表示A中当前待进站的第一辆火车 tar[B]表示出站序列中当前应该出站的火车 sta为火车站
当A==tar[B]的时候 A进站马上出战 否则当站中最后一辆==tar[B]时 这辆车出站 都不满足就只能A中的最前面的火车进站
当n辆火车全部进站 而站中还有火车是 给定的出战序列就是不可能的...
分类:
其他好文 时间:
2014-08-04 17:39:37
阅读次数:
194
表达树就是根据后缀表达式来建立一个二叉树。
这个二叉树的每个叶子节点就是数,真祖先都是操作符。
通过栈来建立的,所以这里也会有很多栈的操作。
树的先序遍历,中序遍历,后序遍历的概念我就不讲了,不会的自行百度,不然也看不懂我的代码。
下面是代码:
//
// main.cpp
// expressionTree
//
// Created by Alps on 14-7-29.
//...
分类:
其他好文 时间:
2014-07-30 23:57:15
阅读次数:
554
题目:
输入一串字符串,其中有普通的字符与括号组成(包括‘(’、‘)’、‘[’,']'),要求验证括号是否匹配,如果匹配则输出0、否则输出1.
Smple input:dfa(sdf)df[dfds(dfd)] Smple outPut:0
分析: 类似于括号字符匹配这类的问题, 我们可以模拟栈的操作来进行验证, 这样问题就简单了, 就是栈的操作
...
分类:
其他好文 时间:
2014-06-29 22:34:14
阅读次数:
317