From 54db23ef96296b2361f10c46b3a0d319738a4e3e Mon Sep 17 00:00:00 2001 From: ZhaoHongxin Date: Sun, 26 Feb 2017 22:29:50 +0800 Subject: [PATCH 1/3] a --- .../basic/.gitignore | 0 .../basic/ArrayListTest.java | 12 ++++++-- .../basic/BinaryTreeNode.java | 2 +- .../basic/Iterator.java | 2 +- .../basic/LinkedList.java | 17 +++++++---- .../basic/LinkedListTest.java | 6 +++- .../basic/List.java | 3 +- .../test01/src/com/coding/basic/Queue.java | 25 +++++++++++++++++ .../src/com/coding/basic/QueueTest.java | 26 +++++++++++++++++ .../test01/src/com/coding/basic/Stack.java | 28 +++++++++++++++++++ .../src/com/coding/basic/StackTest.java | 26 +++++++++++++++++ .../src/com/coding1094051862/basic/Queue.java | 19 ------------- .../src/com/coding1094051862/basic/Stack.java | 22 --------------- 13 files changed, 136 insertions(+), 52 deletions(-) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/.gitignore (100%) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/ArrayListTest.java (58%) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/BinaryTreeNode.java (93%) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/Iterator.java (69%) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/LinkedList.java (89%) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/LinkedListTest.java (82%) rename group05/1094051862/test01/src/com/{coding1094051862 => coding}/basic/List.java (76%) create mode 100644 group05/1094051862/test01/src/com/coding/basic/Queue.java create mode 100644 group05/1094051862/test01/src/com/coding/basic/QueueTest.java create mode 100644 group05/1094051862/test01/src/com/coding/basic/Stack.java create mode 100644 group05/1094051862/test01/src/com/coding/basic/StackTest.java delete mode 100644 group05/1094051862/test01/src/com/coding1094051862/basic/Queue.java delete mode 100644 group05/1094051862/test01/src/com/coding1094051862/basic/Stack.java diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/.gitignore b/group05/1094051862/test01/src/com/coding/basic/.gitignore similarity index 100% rename from group05/1094051862/test01/src/com/coding1094051862/basic/.gitignore rename to group05/1094051862/test01/src/com/coding/basic/.gitignore diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/ArrayListTest.java b/group05/1094051862/test01/src/com/coding/basic/ArrayListTest.java similarity index 58% rename from group05/1094051862/test01/src/com/coding1094051862/basic/ArrayListTest.java rename to group05/1094051862/test01/src/com/coding/basic/ArrayListTest.java index 6345b9c57e..8a5875427e 100644 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/ArrayListTest.java +++ b/group05/1094051862/test01/src/com/coding/basic/ArrayListTest.java @@ -1,4 +1,4 @@ -package com.coding1094051862.basic; +package com.coding.basic; import org.junit.Assert; import org.junit.Test; @@ -7,7 +7,7 @@ public class ArrayListTest { @Test public void test() { - ArrayList list = new ArrayList(); + List list = new ArrayList(); for(int i = 0; i < 10; i++) { list.add(i); } @@ -18,6 +18,14 @@ public void test() { Assert.assertEquals(12, list.size()); Assert.assertEquals(99, list.remove(3)); Assert.assertEquals(11, list.size()); + Iterator iterator = list.iterator(); + for (int i = 0; i< list.size(); i++) { + System.out.println(list.get(i)); + } + System.out.println("======"); + while (iterator.hasNext()) { + System.out.println(iterator.next()); + } } } diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/BinaryTreeNode.java b/group05/1094051862/test01/src/com/coding/basic/BinaryTreeNode.java similarity index 93% rename from group05/1094051862/test01/src/com/coding1094051862/basic/BinaryTreeNode.java rename to group05/1094051862/test01/src/com/coding/basic/BinaryTreeNode.java index 09d35349b8..d7ac820192 100644 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/BinaryTreeNode.java +++ b/group05/1094051862/test01/src/com/coding/basic/BinaryTreeNode.java @@ -1,4 +1,4 @@ -package com.coding1094051862.basic; +package com.coding.basic; public class BinaryTreeNode { diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/Iterator.java b/group05/1094051862/test01/src/com/coding/basic/Iterator.java similarity index 69% rename from group05/1094051862/test01/src/com/coding1094051862/basic/Iterator.java rename to group05/1094051862/test01/src/com/coding/basic/Iterator.java index 33dcc89a6a..06ef6311b2 100644 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/Iterator.java +++ b/group05/1094051862/test01/src/com/coding/basic/Iterator.java @@ -1,4 +1,4 @@ -package com.coding1094051862.basic; +package com.coding.basic; public interface Iterator { public boolean hasNext(); diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/LinkedList.java b/group05/1094051862/test01/src/com/coding/basic/LinkedList.java similarity index 89% rename from group05/1094051862/test01/src/com/coding1094051862/basic/LinkedList.java rename to group05/1094051862/test01/src/com/coding/basic/LinkedList.java index ea3b54241b..4ef910fc16 100644 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/LinkedList.java +++ b/group05/1094051862/test01/src/com/coding/basic/LinkedList.java @@ -1,4 +1,4 @@ -package com.coding1094051862.basic; +package com.coding.basic; public class LinkedList implements List { @@ -114,16 +114,23 @@ public Object removeLast(){ } public Iterator iterator(){ return new Iterator() { + int cusor = 0; + Node current = head; @Override public Object next() { - // TODO Auto-generated method stub - return null; + if (!hasNext()) { + System.out.println("next : !hasNext"); + return null; + } + Object o = current.data; + current = current.next; + cusor ++; + return o; } @Override public boolean hasNext() { - // TODO Auto-generated method stub - return false; + return cusor < size; } }; } diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/LinkedListTest.java b/group05/1094051862/test01/src/com/coding/basic/LinkedListTest.java similarity index 82% rename from group05/1094051862/test01/src/com/coding1094051862/basic/LinkedListTest.java rename to group05/1094051862/test01/src/com/coding/basic/LinkedListTest.java index dccc8e1e86..ca269f7d9f 100644 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/LinkedListTest.java +++ b/group05/1094051862/test01/src/com/coding/basic/LinkedListTest.java @@ -1,4 +1,4 @@ -package com.coding1094051862.basic; +package com.coding.basic; import junit.framework.Assert; @@ -27,6 +27,10 @@ public void test() { Assert.assertEquals(3, list.get(5)); Assert.assertEquals(4, list.get(6)); Assert.assertEquals(800, list.get(8)); + Iterator iterator = list.iterator(); + while (iterator.hasNext()) { + System.out.println(iterator.next()); + } } } diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/List.java b/group05/1094051862/test01/src/com/coding/basic/List.java similarity index 76% rename from group05/1094051862/test01/src/com/coding1094051862/basic/List.java rename to group05/1094051862/test01/src/com/coding/basic/List.java index 7f1430b67b..ef939ae2cc 100644 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/List.java +++ b/group05/1094051862/test01/src/com/coding/basic/List.java @@ -1,4 +1,4 @@ -package com.coding1094051862.basic; +package com.coding.basic; public interface List { public void add(Object o); @@ -6,4 +6,5 @@ public interface List { public Object get(int index); public Object remove(int index); public int size(); + public Iterator iterator(); } diff --git a/group05/1094051862/test01/src/com/coding/basic/Queue.java b/group05/1094051862/test01/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..b65d01ab8e --- /dev/null +++ b/group05/1094051862/test01/src/com/coding/basic/Queue.java @@ -0,0 +1,25 @@ +package com.coding.basic; + +public class Queue { + private List list = new ArrayList(); + private int size = 0; + public void enQueue(Object o){ + list.add(o); + size ++; + } + + public Object deQueue(){ + if (size == 0) + return null; + size --; + return list.remove(0); + } + + public boolean isEmpty(){ + return size == 0; + } + + public int size(){ + return size; + } +} diff --git a/group05/1094051862/test01/src/com/coding/basic/QueueTest.java b/group05/1094051862/test01/src/com/coding/basic/QueueTest.java new file mode 100644 index 0000000000..f75beb397f --- /dev/null +++ b/group05/1094051862/test01/src/com/coding/basic/QueueTest.java @@ -0,0 +1,26 @@ +package com.coding.basic; + +import static org.junit.Assert.*; +import junit.framework.Assert; + +import org.junit.Test; + +import sun.org.mozilla.javascript.internal.ast.NewExpression; + +public class QueueTest { + + @Test + public void test() { + Queue queue = new Queue(); + for (int i = 0; i < 100; i++) { + queue.enQueue(i); + } + Assert.assertEquals(100, queue.size()); + for (int i = 0; i < 100; i++) { + Assert.assertEquals(i, queue.deQueue()); + } + Assert.assertEquals(0, queue.size()); + + } + +} diff --git a/group05/1094051862/test01/src/com/coding/basic/Stack.java b/group05/1094051862/test01/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..7fabb3494f --- /dev/null +++ b/group05/1094051862/test01/src/com/coding/basic/Stack.java @@ -0,0 +1,28 @@ +package com.coding.basic; + +public class Stack { + private List elementData = new ArrayList(); + private int size = 0; + public void push(Object o){ + elementData.add(o); + size ++; + } + + public Object pop(){ + if (size == 0) + return null; + return elementData.remove(--size); + } + + public Object peek(){ + if (size == 0) + return null; + return elementData.get(size - 1); + } + public boolean isEmpty(){ + return size == 0; + } + public int size(){ + return size; + } +} diff --git a/group05/1094051862/test01/src/com/coding/basic/StackTest.java b/group05/1094051862/test01/src/com/coding/basic/StackTest.java new file mode 100644 index 0000000000..adcb2c6522 --- /dev/null +++ b/group05/1094051862/test01/src/com/coding/basic/StackTest.java @@ -0,0 +1,26 @@ +package com.coding.basic; + +import static org.junit.Assert.*; +import junit.framework.Assert; + +import org.junit.BeforeClass; +import org.junit.Test; + +public class StackTest { + + @Test + public void test() { + Stack stack = new Stack(); + for (int i = 0; i < 100; i++) { + stack.push(i); + } + Assert.assertEquals(100, stack.size()); + Assert.assertEquals(99, stack.pop()); + for (int i = 98; i >= 0; i--) { + Assert.assertEquals(i, stack.peek()); + Assert.assertEquals(i, stack.pop()); + } + Assert.assertEquals(0, stack.size()); + } + +} diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/Queue.java b/group05/1094051862/test01/src/com/coding1094051862/basic/Queue.java deleted file mode 100644 index fb9f6107fd..0000000000 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/Queue.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coding1094051862.basic; - -public class Queue { - - public void enQueue(Object o){ - } - - public Object deQueue(){ - return null; - } - - public boolean isEmpty(){ - return false; - } - - public int size(){ - return -1; - } -} diff --git a/group05/1094051862/test01/src/com/coding1094051862/basic/Stack.java b/group05/1094051862/test01/src/com/coding1094051862/basic/Stack.java deleted file mode 100644 index a9fbb4635b..0000000000 --- a/group05/1094051862/test01/src/com/coding1094051862/basic/Stack.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coding1094051862.basic; - -public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - } - - public Object pop(){ - return null; - } - - public Object peek(){ - return null; - } - public boolean isEmpty(){ - return false; - } - public int size(){ - return -1; - } -} From 64bae7c49104a49344f6c2ea37f788422e0592b4 Mon Sep 17 00:00:00 2001 From: ZhaoHongxin Date: Sun, 26 Feb 2017 22:34:38 +0800 Subject: [PATCH 2/3] arraylist --- .../src/com/coding/basic/ArrayList.java | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 group05/1094051862/test01/src/com/coding/basic/ArrayList.java diff --git a/group05/1094051862/test01/src/com/coding/basic/ArrayList.java b/group05/1094051862/test01/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..af757a217e --- /dev/null +++ b/group05/1094051862/test01/src/com/coding/basic/ArrayList.java @@ -0,0 +1,79 @@ +package com.coding.basic; + +import java.util.Arrays; + +public class ArrayList implements List { + + private int size = 0; + + private Object[] elementData = new Object[10]; + + private int increaseSize = 3; + private void increaseArray() { + Object[] newData = Arrays.copyOf(elementData, elementData.length + increaseSize); + elementData = newData; + } + public void add(Object o){ + if (size == elementData.length) { + increaseArray(); + elementData[size++] = o; + } else { + elementData[size++] = o; + } + } + public void add(int index, Object o){ + if (index < 0 || index > size) { + System.out.println("错误提示:index > size || index < 0"); + return; + } + Object temp; + for (int i = index; i < size; i++) { + temp = elementData[i]; + elementData[i] = o; + o = temp; + } + elementData[size ++] = o; + } + + public Object get(int index){ + if (index < 0 || index > size ){ + return null; + } + return elementData[index]; + } + + public Object remove(int index){ + if (index < 0 || index > size ){ + return null; + } + Object result = elementData[index]; + for (int i = index; i < size-1; i++) { + elementData[i] = elementData[i + 1]; + } + elementData[size-1] = null; + size --; + return result; + } + + public int size(){ + return size; + } + + public Iterator iterator(){ + return new Iterator() { + private int cusor = 0; + @Override + public Object next() { + if (!hasNext()) { + System.out.println("next: !hasNext"); + return null; + } + return elementData[cusor ++]; + } + @Override + public boolean hasNext() { + return cusor < size; + } + }; + } +} From 079d6c4d84964491856f51e518026bafd1aa926b Mon Sep 17 00:00:00 2001 From: ZhaoHongxin Date: Sun, 26 Feb 2017 22:41:53 +0800 Subject: [PATCH 3/3] empty gitignore --- group05/1094051862/test01/src/com/coding/basic/.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/group05/1094051862/test01/src/com/coding/basic/.gitignore b/group05/1094051862/test01/src/com/coding/basic/.gitignore index 709f74c2f7..e69de29bb2 100644 --- a/group05/1094051862/test01/src/com/coding/basic/.gitignore +++ b/group05/1094051862/test01/src/com/coding/basic/.gitignore @@ -1 +0,0 @@ -/ArrayList.java