java实现用链式栈求解迷宫问题--构造栈的数据结构


java实现用链式栈求解迷宫问题--构造栈的数据结构_第1张图片
栈结构模型

/**

* 用不带头结点的单链表构造的链式栈

* LinkedStack

* 创建人:guxiaohao

* 时间:2017年10月29日-上午9:53:56

* @version 1.0.0

*

*/

public class LinkedStack {

private ElementNode top; // 栈顶指针

class ElementNode {

public Object data;

public ElementNode next;

}

// 初始化栈

void initStack() {

top = null;

}

// 进栈(压栈、入栈)

public void push(Object obj) {

ElementNode en = new ElementNode();

en.data = obj;

en.next = top;

top = en;

}

// 出栈一个元素

public Object pop() {

Object obj = null;

if (top == null) {

System.out.println("栈中没有元素!");

} else {

obj = top.data;

top = top.next;

}

return obj;

}

void print() {

ElementNode p = top;

while (p != null) {

System.out.print(p.data + "\t");

p = p.next;

}

System.out.println();

}

// 判断栈是否为空

public boolean isEmpty() {

return top == null;

}

// 获取栈顶元素

public Object getTop() {

return top.data;

}

}

你可能感兴趣的:(java实现用链式栈求解迷宫问题--构造栈的数据结构)