package 栈链式结构及功能实现;
/*有了size 就能遍历整个链栈了。
*
*
*/
public class LinkedStack {
static class LinkedNode{
int data;
LinkedNode next;
public LinkedNode(int data) {
this.data=data;
}
}
LinkedNode top;//指向栈顶,链栈的第一个节点
int size;//链栈长度
public LinkedStack() {
size=0;
top=null;
}
//入栈
public void push(int data) {
LinkedNode p=new LinkedNode(data);
if(size==0) {
top=p;
size++;
System.out.println("入栈成功");
}
else {
p.next=top;
top=p;
size++;
System.out.println("入栈成功");
}
}
//出栈
public void pop() {
if(top==null) {
System.out.println("空栈");
}
else {
System.out.println("删除的栈顶元素数据是"+top.data);
top=top.next;
size--;
}
}
//遍历并显示
public void display() {
LinkedNode p;
p=top;
if(top==null) {
System.out.println("空栈");
}
else {
for(int i=1;i<=size;i++) {
System.out.print(p.data+" ");
p=p.next;
}
System.out.println();
}
}
public static void main(String args[]) {
LinkedStack newstack=new LinkedStack();
newstack.push(20);
newstack.push(30);
newstack.pop();
newstack.pop();
newstack.display();
}
}
数据结构栈的链式结构代码及其部分功能实现
最新推荐文章于 2024-04-22 17:33:43 发布
本文介绍了如何使用链式结构实现一个栈,包括LinkedStack类的创建、入栈(push)、出栈(pop)和遍历(display)方法。通过实例展示了如何在Java中构造和操作一个链栈,适合初学者理解基本栈的概念和技术实现。
摘要由CSDN通过智能技术生成