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实现链式栈的主要内容,如果未能解决你的问题,请参考以下文章

数据结构栈的链式存储结构

栈和队列-第五节:JavaC++Python实现栈和队列

数据结构——栈 (链栈和基于Java的运算实现)

数据结构学习笔记——链式存储结构实现栈

数据结构学习笔记——链式存储结构实现栈(链栈)

Java的顺序栈和链式栈