Java函数实现堆栈数据结构的基本操作:推、弹、查看顶部值
发布时间:2023-09-05 15:02:24
堆栈(Stack)是一种常见的数据结构,具有后进先出(Last-In-First-Out,LIFO)的特点。在Java中,可以使用数组或链表来实现堆栈。下面是一个使用链表实现堆栈数据结构的基本操作的Java函数实现。
首先,我们需要定义一个Node类,用于表示堆栈的节点。每个节点有一个值和一个指向下一个节点的指针。
class Node {
int value;
Node next;
public Node(int value) {
this.value = value;
this.next = null;
}
}
接下来,我们定义一个Stack类,用于操作堆栈。Stack类有以下几个基本方法:
1. push(int value):将一个元素压入堆栈中。
2. pop():弹出堆栈顶部的元素。
3. peek():查看堆栈顶部的元素。
class Stack {
Node top;
public Stack() {
this.top = null;
}
public void push(int value) {
Node newNode = new Node(value);
newNode.next = top;
top = newNode;
}
public int pop() {
if (top == null) {
throw new EmptyStackException();
}
int value = top.value;
top = top.next;
return value;
}
public int peek() {
if (top == null) {
throw new EmptyStackException();
}
return top.value;
}
}
使用这些方法,我们可以进行堆栈的操作。例如,可以按照以下方式使用这个堆栈:
Stack stack = new Stack(); stack.push(1); stack.push(2); stack.push(3); System.out.println(stack.peek()); // 输出3 System.out.println(stack.pop()); // 输出3 System.out.println(stack.peek()); // 输出2 System.out.println(stack.pop()); // 输出2 System.out.println(stack.peek()); // 输出1 System.out.println(stack.pop()); // 输出1 stack.pop(); // 抛出EmptyStackException异常
在这个例子中,我们首先将1、2和3分别压入堆栈中,然后使用peek方法查看堆栈顶部的元素,使用pop方法从堆栈中弹出元素。弹出元素后,使用peek方法查看新的堆栈顶部的元素。最后,当堆栈为空时,再次使用pop方法将会抛出一个异常。
这是一个使用链表实现堆栈数据结构的简单示例。在实际应用中,可能还需要其他方法或属性来满足特定需求。
