欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java進棧和出棧代碼

江奕云1年前7瀏覽0評論

Java語言中的棧(Stack)是一種非常重要的數據結構。棧的特點是“先進后出”,即數據項只能從棧頂進棧和出棧。在Java中,實現棧的方式一般是使用數組或者鏈表來模擬。

//使用數組模擬棧實現push、pop操作
public class ArrayStack {
private int top;
private int[] stackArray;
private int maxSize;
public ArrayStack(int maxSize) {
top = -1;
this.maxSize = maxSize;
stackArray = new int[maxSize];
}
public boolean push(int val) {
if (top == maxSize - 1) {
System.out.println("Stack Overflow");
return false;
} else {
stackArray[++top] = val;
return true;
}
}
public int pop() {
if (top == -1) {
System.out.println("Stack Underflow");
return -1;
} else {
return stackArray[top--];
}
}
}

上述代碼使用了數組來模擬棧,其中push()方法用于將數據項入棧,pop()方法用于將數據項出棧。

//使用鏈表模擬棧實現push、pop操作
public class LinkStack {
private Node top;
public LinkStack() {
top = null;
}
public boolean isEmpty() {
return top == null;
}
public void push(int val) {
Node newNode = new Node(val);
newNode.next = top;
top = newNode;
}
public int pop() {
if (isEmpty()) {
System.out.println("Stack Underflow");
return -1;
}
int value = top.data;
top = top.next;
return value;
}
//內部類,用于定義鏈表節點
private class Node {
private int data;
private Node next;
public Node(int data) {
this.data = data;
next = null;
}
}
}

上述代碼使用了鏈表來模擬棧,其中push()方法用于將數據項入棧,pop()方法用于將數據項出棧。

下一篇oracle 10 rac