From 33f6171d07fc2a22f815e443e0a79acce066ce37 Mon Sep 17 00:00:00 2001 From: sargeles <330657387@qq.com> Date: Sun, 12 Mar 2017 23:04:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8F=AA=E5=86=99=E4=BA=86linkedlist?= =?UTF-8?q?=E5=92=8Carraylist=E7=9A=84=E7=AE=80=E5=8D=95=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=EF=BC=8C=E8=BF=99=E5=91=A8=E5=AE=9E=E5=9C=A8=E5=A4=AA=E5=BF=99?= =?UTF-8?q?=EF=BC=8C=E8=A6=81=E4=B8=8A=E7=BA=BFT=20T?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group24/330657387/.classpath | 7 + group24/330657387/.gitignore | 1 + group24/330657387/.project | 17 +++ .../org.eclipse.core.resources.prefs | 2 + .../src/com/coding/basic/ArrayList.java | 62 +++++++++ .../src/com/coding/basic/BinaryTreeNode.java | 32 +++++ .../src/com/coding/basic/Iterator.java | 7 + .../src/com/coding/basic/LinkedList.java | 122 ++++++++++++++++++ .../330657387/src/com/coding/basic/List.java | 9 ++ .../330657387/src/com/coding/basic/Queue.java | 19 +++ .../330657387/src/com/coding/basic/Stack.java | 22 ++++ 11 files changed, 300 insertions(+) create mode 100644 group24/330657387/.classpath create mode 100644 group24/330657387/.gitignore create mode 100644 group24/330657387/.project create mode 100644 group24/330657387/.settings/org.eclipse.core.resources.prefs create mode 100644 group24/330657387/src/com/coding/basic/ArrayList.java create mode 100644 group24/330657387/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group24/330657387/src/com/coding/basic/Iterator.java create mode 100644 group24/330657387/src/com/coding/basic/LinkedList.java create mode 100644 group24/330657387/src/com/coding/basic/List.java create mode 100644 group24/330657387/src/com/coding/basic/Queue.java create mode 100644 group24/330657387/src/com/coding/basic/Stack.java diff --git a/group24/330657387/.classpath b/group24/330657387/.classpath new file mode 100644 index 0000000000..3e0fb272a8 --- /dev/null +++ b/group24/330657387/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/group24/330657387/.gitignore b/group24/330657387/.gitignore new file mode 100644 index 0000000000..ae3c172604 --- /dev/null +++ b/group24/330657387/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/group24/330657387/.project b/group24/330657387/.project new file mode 100644 index 0000000000..fab8d7f04c --- /dev/null +++ b/group24/330657387/.project @@ -0,0 +1,17 @@ + + + 2017Learning + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group24/330657387/.settings/org.eclipse.core.resources.prefs b/group24/330657387/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..a77fc6aa89 --- /dev/null +++ b/group24/330657387/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/com/coding/basic/LinkedList.java=UTF-8 diff --git a/group24/330657387/src/com/coding/basic/ArrayList.java b/group24/330657387/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..1728a28291 --- /dev/null +++ b/group24/330657387/src/com/coding/basic/ArrayList.java @@ -0,0 +1,62 @@ +package com.coding.basic; + +import java.util.Arrays; + +public class ArrayList implements List { + + private int size = 0; + + private Object[] elementData = new Object[10]; + + public void ensureCapacity(int input) { + if (input > elementData.length) { + growCapacity(); + } + } + + private void growCapacity(){ + elementData = Arrays.copyOf(elementData, size * 2); + } + + public void add(Object o){ + ensureCapacity(size + 1); + elementData[size++] = o; + } + + + public void add(int index, Object o){ + rangeCheck(index); + ensureCapacity(size + 1); + System.arraycopy(elementData,index, elementData, index + 1, size - index); + elementData[index] = o; + size ++; + } + + private void rangeCheck(int index){ + if (index > size || index < 0){ + throw new IndexOutOfBoundsException(); + } + } + + public Object get(int index){ + rangeCheck(index); + return elementData[index]; + } + + public Object remove(int index){ + rangeCheck(index); + Object dest = elementData[index]; + System.arraycopy(elementData, index +1, elementData, index, size-index-1); + size --; + return dest; + } + + public int size(){ + return size; + } + + public Iterator iterator(){ + return null; + } + +} diff --git a/group24/330657387/src/com/coding/basic/BinaryTreeNode.java b/group24/330657387/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..d7ac820192 --- /dev/null +++ b/group24/330657387/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,32 @@ +package com.coding.basic; + +public class BinaryTreeNode { + + private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public Object getData() { + return data; + } + public void setData(Object data) { + this.data = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o){ + return null; + } + +} diff --git a/group24/330657387/src/com/coding/basic/Iterator.java b/group24/330657387/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..06ef6311b2 --- /dev/null +++ b/group24/330657387/src/com/coding/basic/Iterator.java @@ -0,0 +1,7 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group24/330657387/src/com/coding/basic/LinkedList.java b/group24/330657387/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..8357e13254 --- /dev/null +++ b/group24/330657387/src/com/coding/basic/LinkedList.java @@ -0,0 +1,122 @@ +package com.coding.basic; + +import java.util.NoSuchElementException; + +public class LinkedList implements List { + + private Node head; + private int size = 0; + + public void add(Object o) { + if (isEmpty()) { + head = new Node(o); + } else { + Node tail = (Node)get(size-1); + Node node = new Node(o); + tail.next = node; + } + size++; + } + + public boolean isEmpty() { + return (size == 0) ? true : false; + } + + public void add(int index, Object o) { + rangeCheck(index); + if (index ==0) { + Node node = new Node(o); + node.next = head; + head = node; + } else { + Node pre = (Node)get(index-1); + Node node = new Node(o); + node.next = pre.next; + pre.next = node; + } + } + + private void rangeCheck(int index){ + if (index >= size || index <0){ + throw new IndexOutOfBoundsException(); + } + } + + public Object get(int index) { + rangeCheck(index); + Node dest = head; + for (int i = 0; i< index; i++){ + dest = dest.next; + } + return dest.data; + } + + public Object remove(int index) { + rangeCheck(index); + Node pre = (Node)get(index); + Node dest = pre.next; + pre.next = dest.next; + size --; + return dest; + } + + public int size() { + return size; + } + + public void addFirst(Object o) { + Node node = new Node(o); + node.next = head; + head = node; + size ++; + } + + public void addLast(Object o) { + Node last = (Node)get(size-1); + Node node = new Node(o); + last.next = node; + size++; + } + + public Object removeFirst() { + if (head == null) { + throw new NoSuchElementException(); + } + Node newhead = head; + head = head.next; + size --; + return newhead; + } + + public Object removeLast() { + if (head == null) { + throw new NoSuchElementException(); + } + if (head.next == null) { + Node tmp = head; + head = null; + size --; + return tmp; + } + Node newLastNode = (Node)get(size-2); + Node oldLastNode = newLastNode.next; + newLastNode.next = null; + size --; + return oldLastNode; + } + + public Iterator iterator() { + return null; + } + + private static class Node { + Object data; + Node next; + + Node(Object data) { + this.data = data; + next = null; + } + } + +} diff --git a/group24/330657387/src/com/coding/basic/List.java b/group24/330657387/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group24/330657387/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index, Object o); + public Object get(int index); + public Object remove(int index); + public int size(); +} diff --git a/group24/330657387/src/com/coding/basic/Queue.java b/group24/330657387/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..36e516e266 --- /dev/null +++ b/group24/330657387/src/com/coding/basic/Queue.java @@ -0,0 +1,19 @@ +package com.coding.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/group24/330657387/src/com/coding/basic/Stack.java b/group24/330657387/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..a5a04de76d --- /dev/null +++ b/group24/330657387/src/com/coding/basic/Stack.java @@ -0,0 +1,22 @@ +package com.coding.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 59d8962cbc6421e7502d93bfc4ac2dfc805db278 Mon Sep 17 00:00:00 2001 From: sargeles <330657387@qq.com> Date: Sun, 12 Mar 2017 23:12:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9Linkedlist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group24/330657387/.gitignore | 4 ++++ group24/330657387/.settings/org.eclipse.core.resources.prefs | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 group24/330657387/.settings/org.eclipse.core.resources.prefs diff --git a/group24/330657387/.gitignore b/group24/330657387/.gitignore index ae3c172604..e2e6235a8a 100644 --- a/group24/330657387/.gitignore +++ b/group24/330657387/.gitignore @@ -1 +1,5 @@ /bin/ + +#ide config +.settings/ + diff --git a/group24/330657387/.settings/org.eclipse.core.resources.prefs b/group24/330657387/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index a77fc6aa89..0000000000 --- a/group24/330657387/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding//src/com/coding/basic/LinkedList.java=UTF-8