Java实现链式栈
Posted 肥学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现链式栈相关的知识,希望对你有一定的参考价值。
package lanqiao;
import java.util.*;
public class Main
public static Stack InitStack()
Stack stack=new Stack(0);//构建一个节点stack当作头节点data表示stack长度
return stack;
public static Stack Push(Stack stack,int num) //头插法
if(stack.next!=null)
Stack s=new Stack(num);
s.next=stack.next;
stack.next=s;
stack.data++;
else
Stack s=new Stack(num);
stack.next=s;
stack.data++;
return stack;
public static Stack Pop(Stack stack) //头删法(自己起的哈哈哈哈)
if(stack.data<1)
System.out.println("该栈以空!!!");
else
stack.next=stack.next.next;
stack.data--;
return stack;
public static int GetTop(Stack stack)
if(stack.data==0)
System.out.println("该栈为空栈!");
return -1;
return stack.next.data;
public static void main(String[] args)
Stack stack=InitStack();
Push(stack,5);
Push(stack,2);
Push(stack,1);
System.out.println("栈顶元素为:"+GetTop(stack));
Pop(stack);
System.out.println("栈顶元素为:"+GetTop(stack));
Push(stack,999);
System.out.println("栈顶元素为:"+GetTop(stack));
class Stack
int data;
Stack next;
public Stack()
public Stack(int data)
this.data=data;
结果:
栈顶元素为:1
栈顶元素为:2
栈顶元素为:999
以上是关于Java实现链式栈的主要内容,如果未能解决你的问题,请参考以下文章