赞
踩
(1)代码
package stack; public class LinkedListStackDemo { /* public static void main(String[] args){ LLStack llStack=new LLStack(); llStack.push(1); llStack.push(2); llStack.push(3); System.out.println("栈里面值的个数为:"+llStack.getLength()); llStack.pop(); System.out.println("pop一个之后,栈里面的个数 为 :"+llStack.getLength()); System.out.println("pop一个之后,栈顶的值为:"+llStack.top()); }*/ public static void main(String[] args){ ListStack llStack=new ListStack(4); llStack.push(1); llStack.push(2); llStack.push(3); //System.out.println(llStack.peak()); System.out.println(llStack.pop()); } } class ListStack { Node header;//栈顶元素 int elementCount;//栈内元素个数 int size;//栈的大小 /** * 构造函数,构造一个空的栈 */ public ListStack(){ header=null; elementCount=0; size=0; } /** * 通过构造器自定义栈的大小 * @param size */ public ListStack(int size) { header=null; elementCount=0; this.size=size; } public void setHeader(Node header) { //this.header=header; this.header=header; } public boolean isFull() { if (elementCount==size) { return true; } return false; } public boolean isEmpty() { if (elementCount==0) { return true; } return false; } /** * 入栈 * @param value */ public void push(Object value) { if (this.isFull()) { throw new RuntimeException("Stack is Full"); } //注意这里面试将原来的header作为参数传入,然后以新new出来的Node作为header header=new Node(value, header); elementCount++; } /** * 出栈 * @return */ public Object pop() { if (this.isEmpty()) { throw new RuntimeException("Stack is empty"); } /* Object object=header.getElement(); header=header.next; elementCount--; return object;*/ Object object=header.getElement(); header=header.next; elementCount--; return object; } /** * 返回栈顶元素 */ public Object peak(){ if (this.isEmpty()) { throw new RuntimeException("Stack is empty"); } //System.out.println(header.next); return header.getElement(); } } class Node { Object element; Node next; public Node(Object element){ this(element,null); } /** * 创建一个新的节点 * 让他的next指向,参数中的节点 * @param element * @param n */ public Node(Object element,Node n){ this.element=element; next=n; } public Object getElement() { return element; } }
(2)运行结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。