Java实现--链表栈
程序员文章站
2022-07-10 20:30:29
...
用链表实现栈:
其实就只是换了个名字,包装起来而已,没什么新的东西。
注:这里插入结点的方法应为在头部插入结点(与输入的值逆置),这样构成的才是栈
关于定义链表可以查看我的另一篇博文https://blog.csdn.net/szlg510027010/article/details/82862965
/**
* 用链表实现栈
* @author Administrator
*
*/
public class LinkStack {
private LinkList theList;
public LinkStack(){
theList = new LinkList();
}
//入栈
public void push(int data) {
theList.Insert(data);
}
//出栈
public int pop(){
return theList.delete().data;
}
//检查栈是否为空
public boolean isEmpty() {
return theList.isEmpty();
}
public void displayStack() {
System.out.print("Stack (top--->bottom): ");
theList.displayList();
}
}
/**
* 测试(链表)栈
* @author Administrator
*
*/
public class TestLinkStack {
public static void main(String[] args) {
LinkStack theStack = new LinkStack();
theStack.push(20);
theStack.push(40);
theStack.displayStack();
theStack.push(60);
theStack.push(80);
theStack.displayStack();
theStack.pop();
theStack.pop();
theStack.displayStack();
}
}
测试结果:
Stack (top--->bottom): {40} {20}
Stack (top--->bottom): {80} {60} {40} {20}
Stack (top--->bottom): {40} {20}
上一篇: Java栈——数组实现
下一篇: java数组实现栈