diff --git a/group14/630254746/2017Leaning/src/com/leaning/code/ArrayList.java b/group14/630254746/2017Leaning/src/com/leaning/code/ArrayList.java
deleted file mode 100644
index 980736245e..0000000000
--- a/group14/630254746/2017Leaning/src/com/leaning/code/ArrayList.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.leaning.code;
-
-import java.util.Arrays;
-
-public class ArrayList implements List {
-
-	private int size; // ¼ÇÂ¼¼¯ºÏÖÐµÄÔªËØ¸öÊý
-
-	private Object[] elementsData;
-
-	private int totalCount = 1; // ¼ÇÂ¼¼¯ºÏµÄ´óÐ¡
-
-	public ArrayList() {
-		this.elementsData = new Object[totalCount];
-	}
-
-	private void grow() {
-		if (size >= totalCount) {
-			// ½øÐÐÀ©ÈÝ
-			int oldCapacity = size;
-			int newCapacity = oldCapacity + oldCapacity << 1;
-			totalCount = newCapacity;
-			elementsData = Arrays.copyOf(elementsData, newCapacity);
-		}
-	}
-
-	@Override
-	public void add(Object o) {
-		if (totalCount > size) {
-			elementsData[size++] = o;
-		} else {
-			grow();
-			elementsData[size++] = o;
-		}
-	}
-
-	@Override
-	public void add(int index, Object o) {
-		if (index < size) {
-			if (totalCount <= size + 1) {
-				grow();
-			}
-			System.arraycopy(elementsData, index, elementsData, index + 1, size
-					- index);
-			elementsData[index] = 0;
-
-		} else {
-			throw new RuntimeException("Êý×éÏÂ±êÔ½½ç");
-		}
-		size++;
-	}
-
-	@Override
-	public Object get(int index) {
-		if (index < size)
-			return elementsData[index];
-		else
-			throw new RuntimeException("Êý×éÏÂ±êÔ½½ç");
-	}
-
-	@Override
-	public Object remove(int index) {
-		if (index >= size || index < 0) {
-			throw new RuntimeException("Êý×éÏÂ±êÔ½½ç");
-		}
-		Object o = elementsData[index];
-
-		int numMoved = size - index - 1;
-		if (numMoved > 0)
-			System.arraycopy(elementsData, index + 1, elementsData, index,
-					numMoved);
-		elementsData[--size] = null; 
-
-		return o;
-	}
-
-	@Override
-	public int size() {
-		return size;
-	}
-
-	@Override
-	public String toString() {
-		return "ArrayList [elementsData=" + Arrays.toString(elementsData) + "]";
-	}
-
-}
diff --git a/group14/630254746/2017Leaning/src/com/leaning/code/LinkedList.java b/group14/630254746/2017Leaning/src/com/leaning/code/LinkedList.java
deleted file mode 100644
index fd4c57a924..0000000000
--- a/group14/630254746/2017Leaning/src/com/leaning/code/LinkedList.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package com.leaning.code;
-
-
-
-
-
-
-public class LinkedList implements List {
-
-	private Node head;
-	
-	private Node last;
-	
-	private int size;
-	
-	
-	void linkLast(Object o){
-		Node lastNode = last;
-        Node newNode = new Node(lastNode, o, null);
-        last = newNode;
-        if (lastNode == null)
-            head = newNode;
-        else
-        	lastNode.next = newNode;
-        size++;
-	} 
-	
-	void linkHead(Object o){
-		Node headNode = head;
-        Node newNode = new Node(null, o, headNode);
-        head = newNode;
-        if (head == null)
-            last = newNode;
-        else
-        	head.prev = newNode;
-        size++;
-	}
-	
-	@Override
-	public void add(Object o) {
-		linkLast(o);
-	}
-
-	@Override
-	public void add(int index, Object o) {
-		if (index < 0 || index >= size) {
-			throw new RuntimeException("Êý×éÏÂ±êÔ½½ç");
-		}
-		Node n = find(index);
-		Node pred = n.prev;
-	    Node newNode = new Node(pred, o, n);
-        n.prev = newNode;
-        if (pred == null)
-            head = newNode;
-        else
-            pred.next = newNode;
-        size++;
-	}
-
-	@Override
-	public Object get(int index) {
-		return find(index).item;
-	}
-
-	Node find(int index){
-		if (index < (size >> 1)) {
-            Node n = head;
-            for (int i = 0; i < index; i++)
-                n = n.next;
-            return n;
-        } else {
-            Node n = last;
-            for (int i = size - 1; i > index; i--)
-                n = n.prev;
-            return n;
-        }
-	} 
-	
-	@Override
-	public Object remove(int index) {
-		Node n = find(index);
-		Object o = n.item;
-		final Node prev = n.prev;
-		final Node next = n.next;
-		if (null != prev) {
-			prev.next = next;
-		}
-		if (null != next) {
-			next.prev = prev;
-		}
-		n.item = null;
-		n.next = null;
-		n.prev = null;
-		size-- ;
-		return o;
-	}
-
-	@Override
-	public int size() {
-		return size;
-	}
-
-	public void addFrist(Object o){
-		linkHead(o);
-	}
-	
-	public void addLast(Object o){
-		linkLast(o);
-	}
-	
-	public Object removeFirst(){
-		Object o = head.item;
-		Node n = head.next;
-		head = n;
-		if (n == null)
-            last = null;
-        else
-            n.prev = null;
-		size --;
-		return o;
-	}
-	
-	public Object removeLaset(){
-		Object o = last.item;
-		Node p = last.prev;
-		last = p;
-		if (p == null)
-            head = null;
-        else
-            p.next = null;
-		size --;
-		return o;
-	}
-	
-	public Iterator iterator(){
-		return null;
-	}
-	
-	public static class Node{
-		Object item;
-	    Node next;
-	    Node prev;
-
-	    Node(Node prev, Object element, Node next) {
-	        this.item = element;
-	        this.next = next;
-	        this.prev = prev;
-	    }
-	}
-}
diff --git a/group14/630254746/2017Leaning/src/com/leaning/code/Queue.java b/group14/630254746/2017Leaning/src/com/leaning/code/Queue.java
deleted file mode 100644
index f1272b29cc..0000000000
--- a/group14/630254746/2017Leaning/src/com/leaning/code/Queue.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.leaning.code;
-
-public class Queue {
-
-	private LinkedList list = new LinkedList();
-	
-	public void enQueue(Object o) {
-		list.add(o);
-	}
-
-	public Object deQueue() {
-		return list.removeFirst();
-	}
-	
-	public boolean isEmpty(){
-		return list.size() == 0;
-	}
-	
-	public int size(){
-		return list.size();
-	}
-}
diff --git a/group14/630254746/2017Leaning/src/com/leaning/code/Stack.java b/group14/630254746/2017Leaning/src/com/leaning/code/Stack.java
deleted file mode 100644
index c988f489bb..0000000000
--- a/group14/630254746/2017Leaning/src/com/leaning/code/Stack.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.leaning.code;
-
-public class Stack {
-	
-	private ArrayList list = new ArrayList();
-	
-	private int size;
-	
-	
-	public void push(Object o){
-		list.add(o);
-		size ++;
-	}
-	
-	public Object pop(){
-		return list.get(--size);
-	}
-	
-	public Object peek(){
-		return list.get(size-1);
-	}
-	
-	public boolean isEmpty(){
-		return size == 0;
-	}
-	
-	public int size(){
-		return size;
-	}
-	
-}
diff --git a/group14/630254746/2017Leaning/src/com/leaning/code/test/ArrayListTest.java b/group14/630254746/2017Leaning/src/com/leaning/code/test/ArrayListTest.java
deleted file mode 100644
index c680d5f8a5..0000000000
--- a/group14/630254746/2017Leaning/src/com/leaning/code/test/ArrayListTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.leaning.code.test;
-
-import org.junit.Test;
-
-import com.leaning.code.ArrayList;
-import com.leaning.code.LinkedList;
-
-public class ArrayListTest {
-
-	@Test
-	public void test01(){
-		ArrayList list = new ArrayList();
-		list.add("a");
-		list.add("b");
-		list.add("c");
-		
-		System.out.println(list.remove(0));
-		System.out.println(list);
-		
-	}
-	
-	@Test
-	public void test02(){
-		LinkedList list = new LinkedList();
-		list.add("a");
-		list.add("b");
-		list.add("c");
-		
-		list.add(2, "d");
-		
-		System.out.println(list.remove(0));
-		System.out.println(list.get(0));
-		System.out.println(list.get(2));
-		
-		
-	}
-}
diff --git a/group14/630254746/2017Leaning/.classpath b/group14/641013587/14_641013587/.classpath
similarity index 95%
rename from group14/630254746/2017Leaning/.classpath
rename to group14/641013587/14_641013587/.classpath
index 72c2ba61af..373dce4005 100644
--- a/group14/630254746/2017Leaning/.classpath
+++ b/group14/641013587/14_641013587/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/group14/630254746/2017Leaning/.gitignore b/group14/641013587/14_641013587/.gitignore
similarity index 100%
rename from group14/630254746/2017Leaning/.gitignore
rename to group14/641013587/14_641013587/.gitignore
diff --git a/group14/630254746/2017Leaning/.project b/group14/641013587/14_641013587/.project
similarity index 92%
rename from group14/630254746/2017Leaning/.project
rename to group14/641013587/14_641013587/.project
index af4136644f..7433fa7872 100644
--- a/group14/630254746/2017Leaning/.project
+++ b/group14/641013587/14_641013587/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>2017Leaning</name>
+	<name>14_641013587</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/group14/630254746/2017Leaning/.settings/org.eclipse.jdt.core.prefs b/group14/641013587/14_641013587/.settings/org.eclipse.jdt.core.prefs
similarity index 75%
rename from group14/630254746/2017Leaning/.settings/org.eclipse.jdt.core.prefs
rename to group14/641013587/14_641013587/.settings/org.eclipse.jdt.core.prefs
index 7341ab1683..3a21537071 100644
--- a/group14/630254746/2017Leaning/.settings/org.eclipse.jdt.core.prefs
+++ b/group14/641013587/14_641013587/.settings/org.eclipse.jdt.core.prefs
@@ -1,11 +1,11 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/group14/641013587/14_641013587/src/com/coding/basic/ArrayList.java b/group14/641013587/14_641013587/src/com/coding/basic/ArrayList.java
new file mode 100644
index 0000000000..48b84f02a2
--- /dev/null
+++ b/group14/641013587/14_641013587/src/com/coding/basic/ArrayList.java
@@ -0,0 +1,79 @@
+package com.coding.basic;
+
+public class ArrayList implements List {
+	
+	private int size = 0;
+	
+	private Object[] elementData = new Object[100];
+	
+	public void add(Object o){
+		//ÕÒ³ö×îºóÒ»¸ö¿ÕµÄÎ»ÖÃ¸³Öµ
+		for(int i=0;i<elementData.length;i++){
+			if(elementData[i]==null){
+				elementData[i]=o;
+				break;
+			}
+			if(i==elementData.length){
+				this.expansion();
+				elementData[i]=o;
+				break;
+			}
+		}
+		size++;
+		 
+	}
+	
+	private void expansion(){
+		Object[] newElementData = new Object[this.elementData.length+10];
+		System.arraycopy(elementData, 0, newElementData, 0, elementData.length-1);
+		this.elementData=newElementData;
+	}
+	
+	public void add(int index, Object o){
+		if(elementData.length<=size){
+			expansion();
+		}
+		System.arraycopy(elementData,index,elementData,index+1,size);
+		elementData[index]=o;
+		size++;
+	}
+	
+	public Object get(int index){
+		if(index>=size){
+			return this.elementData[elementData.length];
+		}else{
+			return this.elementData[index];
+		}
+	}
+	
+	public Object remove(int index){
+		Object object = get(index);
+		System.arraycopy(elementData,index+1,elementData,index,size-1);
+		elementData[size-1]=null;
+		size--;
+		return object;
+	}
+	
+	public int size(){
+		return size;
+	}
+	
+	public Iterator iterator(){
+		
+		return new Iterator() {
+			
+			private int nextNum=0;
+			
+			@Override
+			public Object next() {
+				return get(nextNum++);
+			}
+			
+			@Override
+			public boolean hasNext() {
+				return nextNum>=size?false:true;
+			}
+		};
+	}
+	
+}
diff --git a/group14/641013587/14_641013587/src/com/coding/basic/BinaryTreeNode.java b/group14/641013587/14_641013587/src/com/coding/basic/BinaryTreeNode.java
new file mode 100644
index 0000000000..d7ac820192
--- /dev/null
+++ b/group14/641013587/14_641013587/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/group14/630254746/2017Leaning/src/com/leaning/code/Iterator.java b/group14/641013587/14_641013587/src/com/coding/basic/Iterator.java
similarity index 53%
rename from group14/630254746/2017Leaning/src/com/leaning/code/Iterator.java
rename to group14/641013587/14_641013587/src/com/coding/basic/Iterator.java
index b9ae65aab1..06ef6311b2 100644
--- a/group14/630254746/2017Leaning/src/com/leaning/code/Iterator.java
+++ b/group14/641013587/14_641013587/src/com/coding/basic/Iterator.java
@@ -1,8 +1,7 @@
-package com.leaning.code;
+package com.coding.basic;
 
 public interface Iterator {
-
 	public boolean hasNext();
-	
-	public Object Next();
+	public Object next();
+
 }
diff --git a/group14/641013587/14_641013587/src/com/coding/basic/LinkedList.java b/group14/641013587/14_641013587/src/com/coding/basic/LinkedList.java
new file mode 100644
index 0000000000..de7114b424
--- /dev/null
+++ b/group14/641013587/14_641013587/src/com/coding/basic/LinkedList.java
@@ -0,0 +1,123 @@
+package com.coding.basic;
+
+public class LinkedList implements List {
+	
+	private Node head=new Node();
+	
+	public void add(Object o){
+		if(head.data==null){
+			head.data=o;
+			return;
+		}
+		Node node=head;
+		for(;node.next!=null;){
+			node=node.next;
+		}
+		node.next=new Node();
+		node.next.data=o;
+		
+	}
+	public void add(int index , Object o){
+		if(index==0){
+			addFirst(o);
+			return;
+		}
+		Node node=head;
+		for(int i=0;i<index;i++){
+				node=node.next;
+				if(node==null){
+					node=new Node();
+				}
+			
+		}
+		node.data=o;
+		return;
+	}
+	public Object get(int index){
+		Node node=head;
+		for(int i=0;i<index;i++){
+				node=node.next;
+		}
+		return node.data;
+	}
+	public Object remove(int index){
+		if(index==0){
+			Object data=head.data;
+			removeFirst();
+			return data;
+		}
+		Node node=head;
+		for(int i=0;i<index-1;i++){
+				node=node.next;
+		}
+		Object data=node.next.data;
+		node.next=node.next.next;
+		return data;
+	}
+	
+	public int size(){
+		int i =0;
+		Node node=head;
+		while (node!=null) {
+			node=node.next;
+			i++;
+		}
+		return i;
+	}
+	
+	public void addFirst(Object o){
+		Node node = new Node();
+		node.data=o;
+		node.next=head;
+		head=node;
+	}
+	public void addLast(Object o){
+		add(o);
+	}
+	public Object removeFirst(){
+		Object data=head.data;
+		head=head.next;
+		if(head==null){
+			head=new Node();
+		}
+		return data;
+	}
+	public Object removeLast(){
+		Object data = null;
+		Node node=head;
+		for(;node.next!=null;){
+			if(node.next.next==null){
+				data=node.next.next;
+				node.next=node.next.next;
+				break;
+			}
+			node=node.next;
+		}
+		return data;
+	}
+	public Iterator iterator(){
+		return new Iterator() {
+			
+			Node node=head;
+			
+			@Override
+			public Object next() {
+				Object data=node.data;
+				node=node.next;
+				return data;
+			}
+			
+			@Override
+			public boolean hasNext() {
+				return node==null?false:true;
+			}
+		};
+	}
+	
+	
+	private static  class Node{
+		Object data;
+		Node next;
+		
+	}
+}
diff --git a/group14/630254746/2017Leaning/src/com/leaning/code/List.java b/group14/641013587/14_641013587/src/com/coding/basic/List.java
similarity index 82%
rename from group14/630254746/2017Leaning/src/com/leaning/code/List.java
rename to group14/641013587/14_641013587/src/com/coding/basic/List.java
index 22d039c4a5..10d13b5832 100644
--- a/group14/630254746/2017Leaning/src/com/leaning/code/List.java
+++ b/group14/641013587/14_641013587/src/com/coding/basic/List.java
@@ -1,15 +1,9 @@
-package com.leaning.code;
+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/group14/641013587/14_641013587/src/com/coding/basic/Queue.java b/group14/641013587/14_641013587/src/com/coding/basic/Queue.java
new file mode 100644
index 0000000000..36e516e266
--- /dev/null
+++ b/group14/641013587/14_641013587/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/group14/641013587/14_641013587/src/com/coding/basic/Stack.java b/group14/641013587/14_641013587/src/com/coding/basic/Stack.java
new file mode 100644
index 0000000000..d3c0406dc8
--- /dev/null
+++ b/group14/641013587/14_641013587/src/com/coding/basic/Stack.java
@@ -0,0 +1,25 @@
+package com.coding.basic;
+
+public class Stack {
+	private ArrayList elementData = new ArrayList();
+	
+	public void push(Object o){
+		elementData.add(0, o);
+	}
+	
+	public Object pop(){
+		Object object = elementData.get(0);
+		elementData.remove(0);
+		return object;
+	}
+	
+	public Object peek(){
+		return elementData.get(0);
+	}
+	public boolean isEmpty(){
+		return elementData.size()==0?true:false;
+	}
+	public int size(){
+		return elementData.size();
+	}
+}
diff --git a/group14/641013587/14_641013587/src/com/coding/test/MyTest.java b/group14/641013587/14_641013587/src/com/coding/test/MyTest.java
new file mode 100644
index 0000000000..79bee9cbe1
--- /dev/null
+++ b/group14/641013587/14_641013587/src/com/coding/test/MyTest.java
@@ -0,0 +1,59 @@
+package com.coding.test;
+
+import org.junit.Test;
+
+import com.coding.basic.ArrayList;
+import com.coding.basic.Iterator;
+import com.coding.basic.LinkedList;
+import com.coding.basic.Stack;
+
+public class MyTest {
+	
+	@Test
+	public void StackTest(){
+		Stack stack = new Stack();
+		stack.push("a");
+		stack.push("b");
+		stack.push("c");
+		System.out.println(stack.pop());
+		System.out.println(stack.pop());
+		System.out.println(stack.peek());
+		System.out.println(stack.pop());
+	}
+	
+	
+	@Test
+	public void myTest(){
+		ArrayList arrayList = new ArrayList();
+		arrayList.add("a");
+		arrayList.add("b");
+		arrayList.add("c");
+		arrayList.add("d");
+		arrayList.add("e");
+		arrayList.add(3,"f");
+		Iterator iterator = arrayList.iterator();
+		while (iterator.hasNext()) {
+			System.out.println(iterator.next());
+			
+		}
+	}
+	
+	@Test
+	public void LinkedListTest(){
+		LinkedList linkedList = new LinkedList();
+		linkedList.add("a");
+		linkedList.add("b");
+		linkedList.addFirst("c");
+		linkedList.addLast("d");
+		//linkedList.remove(2);
+		linkedList.removeLast();
+		System.out.println(linkedList.size());
+		//System.out.println(linkedList.get(2));
+		Iterator iterator = linkedList.iterator();
+		while (iterator.hasNext()) {
+			System.out.println(iterator.next());
+		}
+		
+	}
+	
+}
diff --git a/group14/641013587/RemoteSystemsTempFiles/.project b/group14/641013587/RemoteSystemsTempFiles/.project
new file mode 100644
index 0000000000..5447a64fa9
--- /dev/null
+++ b/group14/641013587/RemoteSystemsTempFiles/.project
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>RemoteSystemsTempFiles</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.rse.ui.remoteSystemsTempNature</nature>
+	</natures>
+</projectDescription>
