java判断出栈顺序是否正确
我们知道栈是一种先进后出的数据容器。当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或a,c,b,d等)。但是却肯定不会出现如下出栈序列:a,d,b,c或d,a,b,c等。在输入序列为递增序列的假设下,请编写一个算法判断输入的字符串表示的出栈序列是否为正确的出栈序列。例如:输入的字符序列为dcba,则返回值为true;若输入的字符序列为adbc,则返回的值为false。
一个简单的堆栈:
public class SqStack {
private int size;
private Object[] datas;
private int top;
public SqStack(){
this(50);
size = 50;
}
public SqStack(int size) {
this.size = size;
datas = new Object[size];
top = -1;
}
public void push(Object data){
//...
}
public Object pop(){
//...
}
public Object getTop(){
//...
}
public boolean isEmpty(){
//...
}
}
public static boolean isStackOutSequence(String str){
SqStack s=new SqStack();
for(int i=0;i<str.length();i++){
for(int j=i+1;j<str.length();j++){
if(str.charAt(j)<str.charAt(i)){
相关文档:
package algorithm.misc;
import util.*;
public class MaxProductOfN1 {
private static int exceptIndex = -1;
public static long regMethod(int data[])
{
long ret = Long.MIN_VALUE;
& ......
public static void getSysProp(){
Properties props = System.getProperties();
Set<Entry<Object,Object>> res = props.entrySet();
Iterator it = res.iterator();
while (it.hasNext())
{
Map.Entry e = (Map.Entry)it.next();
......
public class testthree {
public static void main(String[] args) {
testthree t = new testthree();
t.test();
}
private static void test() {
int d = 0;
int f = 4;
int x = 0;
int y = 6;
for (i ......
package demo;
class TA{
//这个程序要好好理解,常量不是属于类的,它在内存中有一块单独的存储区域,何类TA无任何关系
// public static final int m=9;
// 静态变量是属于类的,它的存储区域与类相关
public static int m=9;
static {
System.out.println("In Static m=" ......
Flex Java 上传 下载 组件 收藏
事前准备就是到http://commons.apache.org下载common-fileupload-1.1.1.jar以及common-io-1.2.jar两个包。
前台Flex代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*" creationComplet ......