From b668e2bfb1130fe13d4a310bfab419217a574cbd Mon Sep 17 00:00:00 2001 From: Danpatpang Date: Fri, 25 May 2018 00:20:16 +0900 Subject: [PATCH 1/2] Update Stacks.java --- Data Structures/Stacks/Stacks.java | 32 +++++++++++++++++++----------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/Data Structures/Stacks/Stacks.java b/Data Structures/Stacks/Stacks.java index 2861ef5c17e8..cd338fa3edf0 100644 --- a/Data Structures/Stacks/Stacks.java +++ b/Data Structures/Stacks/Stacks.java @@ -54,13 +54,14 @@ public void push(int value){ */ public int pop(){ if(!isEmpty()){ //Checks for an empty stack - return stackArray[top--]; - } - - if(top < maxSize/4){ - resize(maxSize/2); - return pop();// don't forget pop after resizing - } + if(top < maxSize/4){ + resize(maxSize/2); + return pop();// don't forget pop after resizing + } + int data = stackArray[top]; + stackArray[top--] = 0; + return data; + } else{ System.out.println("The stack is already empty"); return -1; @@ -86,11 +87,18 @@ private void resize(int newSize){ int[] transferArray = new int[newSize]; //for(int i = 0; i < stackArray.length(); i++){ the length isn't a method . - for(int i = 0; i < stackArray.length; i++){ - transferArray[i] = stackArray[i]; - stackArray = transferArray; - } - maxSize = newSize; + if(newSize > maxSize){ + for(int i = 0; i < stackArray.length; i++){ + transferArray[i] = stackArray[i]; + } + } + else{ + for(int i = 0; i < transferArray.length; i++){ + transferArray[i] = stackArray[i]; + } + } + stackArray = transferArray; + maxSize = newSize; } /** From a6b6fa4f5fefc4422665c9850db66f2bdb4841f1 Mon Sep 17 00:00:00 2001 From: Danpatpang Date: Sun, 27 May 2018 03:10:48 +0900 Subject: [PATCH 2/2] Update StackOfLinkedList.java --- Data Structures/Stacks/StackOfLinkedList.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Data Structures/Stacks/StackOfLinkedList.java b/Data Structures/Stacks/StackOfLinkedList.java index 8903e52f0e72..3db8535c8ad6 100644 --- a/Data Structures/Stacks/StackOfLinkedList.java +++ b/Data Structures/Stacks/StackOfLinkedList.java @@ -56,8 +56,7 @@ public void push(int x) { head = n; } else { - Node temp = head; - n.next = temp; + n.next = head; head = n; } size++;