读书人

java兑现一个栈

发布时间: 2012-10-25 10:58:57 作者: rapoo

java实现一个栈

?

/** * @Project:      Test      * @File:         org.coffeesweet.test01.Test19.java * @Author:       coffeesweet * @Date:         2011-6-7 * @Description:  2011 coffeesweet Inc. All rights reserved. */package org.coffeesweet.test01;import java.util.LinkedList;/** * @author coffeesweet * */public class Test19 {public static void main(String[] args){Long[] numList = new Long[]{1L,5L,3L,2L,1L,5L,7L,6L,7L,8L,-1L,-5L,2L,7L,2L,3L,5L,9L,9L};Test19 t19 = new Test19();MaxNumStack mns = t19.new MaxNumStack();for(int i=0;i<numList.length;i++){mns.push(numList[i]);}System.out.println(mns.pop());System.out.println(mns.pop());System.out.println(mns.top());System.out.println(mns.getMaxNum());}private class MaxNumStack{private LinkedList<Long> stackList = new LinkedList<Long>();private LinkedList<Long> maxNumList = new LinkedList<Long>();public void push(Long num){stackList.addLast(num);if(maxNumList.isEmpty()||(maxNumList.getLast().compareTo(num)<1)){maxNumList.addLast(num);}}public Long pop(){if(stackList.isEmpty())return null;if((maxNumList.getLast().compareTo(stackList.getLast())<1))maxNumList.removeLast();return stackList.removeLast();}public Long top(){return stackList.getLast();}public boolean isEmpty(){return stackList.isEmpty();}public Long getMaxNum(){if(maxNumList.isEmpty())return null;return maxNumList.getLast();}}}
?

?

读书人网 >编程

热点推荐