package stack; /** * Created by ozc on 2018/3/28. * * @author ozc * @version 1.0 */ public class StackTest { public static void main(String[] args) { //åå§åæ (æ å ç´ ) Stack stack = new Stack(new Node(), new Node()); //æ é¡¶åæ å°¾æ¯å䏿å stack.stackBottom = stack.stackTop; //æånull stack.stackTop.next = null; //è¿æ pushStack(stack, 3); pushStack(stack, 4); pushStack(stack, 5); traverse(stack); isEmpty(stack); // åºæ /* popStack(stack); popStack(stack); popStack(stack); popStack(stack); popStack(stack);*/ clearStack(stack); isEmpty(stack); } /** * è¿æ * * @param stack æ * @param value è¦è¿æ çå ç´ */ public static void pushStack(Stack stack, int value) { // å°è£ æ°æ®æèç¹ Node newNode = new Node(value); // æ é¡¶æ¬æ¥æåçèç¹äº¤ç±æ°èç¹æ¥æå newNode.next = stack.stackTop; // æ é¡¶æéæåæ°èç¹ stack.stackTop = newNode; } /** * éåæ (åªè¦æ é¡¶æéä¸æåæ åºæéï¼å°±ä¸ç´è¾åº) * * @param stack */ public static void traverse(Stack stack) { Node stackTop = stack.stackTop; while (stackTop != stack.stackBottom) { System.out.println("å ³æ³¨å ¬ä¼å·ï¼Java3yï¼" + stackTop.data); stackTop = stackTop.next; } } /** * å¤æè¯¥æ æ¯å¦ä¸ºç©º * * @param stack */ public static boolean isEmpty(Stack stack) { if (stack.stackTop == stack.stackBottom) { System.out.println("å ³æ³¨å ¬ä¼å·ï¼Java3y---->该æ 为空"); return true; } else { System.out.println("å ³æ³¨å ¬ä¼å·ï¼Java3y---->该æ ä¸ä¸ºç©º"); return false; } } /** * åºæ (å°æ é¡¶çæéæåä¸ä¸ä¸ªèç¹) * @param stack */ public static void popStack(Stack stack) { // æ ä¸ä¸ºç©ºæè½åºæ if (!isEmpty(stack)) { //æ é¡¶å ç´ Node top = stack.stackTop; // æ é¡¶æéæåä¸ä¸ä¸ªèç¹ stack.stackTop = top.next; System.out.println("å ³æ³¨å ¬ä¼å·ï¼Java3y---->åºæ çå ç´ æ¯ï¼" + top.data); } } /** * æ¸ ç©ºæ * @param stack */ public static void clearStack(Stack stack) { stack.stackTop = null; stack.stackBottom = stack.stackTop; } }