栈--只允许访问第一个数据项即:最后插入的数据。最简单的一句话描述:后进先出!
public class StackX {
private int maxSize;
private long[] stackArray;
private int top;
//初始化
public StackX(int s) {
maxSize = s;
stackArray = new long[maxSize];
top = -1;
}
//入栈
public void push(long j) {
stackArray[++top] = j;
}
//出栈
public long pop() {
return stackArray[top--];
}
//查看栈顶元素
public long peek() {
return stackArray[top];
}
//栈是否为空
public boolean isEmpty() {
return top == -1;
}
//栈是否已满
public boolean isFull() {
return top == maxSize - 1;
}
//例子测试
public static void main(String[] args) {
StackX sx = new StackX(10);
sx.push(1);
sx.push(3);
sx.push(5);
sx.push(7);
while (!sx.isEmpty()) {
System.out.print(sx.pop()+" ");
}
}
栈的两个简单应用:
栈的简单应用--单词反转[url]http://www.exceptionhelp.com/posts/558[/url]
栈的简单应用--分隔符匹配[url]http://www.exceptionhelp.com/posts/559[/url]
public class StackX {
private int maxSize;
private long[] stackArray;
private int top;
//初始化
public StackX(int s) {
maxSize = s;
stackArray = new long[maxSize];
top = -1;
}
//入栈
public void push(long j) {
stackArray[++top] = j;
}
//出栈
public long pop() {
return stackArray[top--];
}
//查看栈顶元素
public long peek() {
return stackArray[top];
}
//栈是否为空
public boolean isEmpty() {
return top == -1;
}
//栈是否已满
public boolean isFull() {
return top == maxSize - 1;
}
//例子测试
public static void main(String[] args) {
StackX sx = new StackX(10);
sx.push(1);
sx.push(3);
sx.push(5);
sx.push(7);
while (!sx.isEmpty()) {
System.out.print(sx.pop()+" ");
}
}
栈的两个简单应用:
栈的简单应用--单词反转[url]http://www.exceptionhelp.com/posts/558[/url]
栈的简单应用--分隔符匹配[url]http://www.exceptionhelp.com/posts/559[/url]