diff --git a/group05/515505513/RemoteSystemsTempFiles/.project b/group05/515505513/RemoteSystemsTempFiles/.project
new file mode 100644
index 0000000000..5447a64fa9
--- /dev/null
+++ b/group05/515505513/RemoteSystemsTempFiles/.project
@@ -0,0 +1,12 @@
+
+
+ RemoteSystemsTempFiles
+
+
+
+
+
+
+ org.eclipse.rse.ui.remoteSystemsTempNature
+
+
diff --git a/group05/515505513/Task01/.classpath b/group05/515505513/Task01/.classpath
new file mode 100644
index 0000000000..fceb4801b5
--- /dev/null
+++ b/group05/515505513/Task01/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/group05/515505513/Task01/.gitignore b/group05/515505513/Task01/.gitignore
new file mode 100644
index 0000000000..ae3c172604
--- /dev/null
+++ b/group05/515505513/Task01/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/group05/515505513/Task01/.project b/group05/515505513/Task01/.project
new file mode 100644
index 0000000000..cf494f7a91
--- /dev/null
+++ b/group05/515505513/Task01/.project
@@ -0,0 +1,17 @@
+
+
+ Task01
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/group05/515505513/Task01/.settings/org.eclipse.jdt.core.prefs b/group05/515505513/Task01/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..3a21537071
--- /dev/null
+++ b/group05/515505513/Task01/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+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.8
diff --git a/group05/515505513/Task01/src/com/coding/basic/ArrayList.java b/group05/515505513/Task01/src/com/coding/basic/ArrayList.java
new file mode 100644
index 0000000000..29fc9b98cb
--- /dev/null
+++ b/group05/515505513/Task01/src/com/coding/basic/ArrayList.java
@@ -0,0 +1,78 @@
+package com.coding.basic;
+
+import java.util.NoSuchElementException;
+
+public class ArrayList implements List {
+
+
+ private int size = 0;
+ private static final int DEFAULT_SIZE = 100;
+ private Object[] elementData = new Object[DEFAULT_SIZE];
+
+ //添加元素
+ public void add(Object o){
+ add(size(),o);
+ }
+
+
+ public void add(int index, Object o){
+ if(elementData.length==size()){
+ ensureCapacity(size()*2 + 1);
+ }
+ for (int i = size; i > index; i--)
+ elementData[i]=elementData[i-1];
+ elementData[index] = o;
+ size++;
+ }
+ //扩容
+ public void ensureCapacity(int newCapacity){
+ if(newCapacity < size){
+ return;
+ }
+ Object[] oldElements = elementData;
+ elementData = new Object[newCapacity];
+ for (int i = 0; i < size; i++) {
+ elementData[i] = oldElements[i];
+ }
+ }
+ //返回固定下标的元素
+ public Object get(int index){
+ if(index<0 || index >=size){
+ throw new ArrayIndexOutOfBoundsException("指定的index超过界限");
+ }
+ return elementData[index];
+ }
+ //删除指定位置的元素
+ public Object remove(int index){
+ Object removeElement = elementData[index];
+ for (int i = index; i < size; i++) {
+ elementData[i] = elementData[i+1];
+ }
+ size--;
+ return removeElement;
+ }
+
+ public int size(){
+ return size;
+ }
+
+ public Iterator iterator(){
+ return new ArrayListIterator();
+ }
+
+ private class ArrayListIterator implements Iterator{
+ private int current = 0;
+ @Override
+ public boolean hasNext() {
+ return current < size;
+ }
+ @Override
+ public Object next() {
+ if(!hasNext()){
+ throw new NoSuchElementException();
+ }
+ return elementData[current+1];
+ }
+ }
+
+}
diff --git a/group05/515505513/Task01/src/com/coding/basic/BinaryTreeNode.java b/group05/515505513/Task01/src/com/coding/basic/BinaryTreeNode.java
new file mode 100644
index 0000000000..d7ac820192
--- /dev/null
+++ b/group05/515505513/Task01/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/group05/515505513/Task01/src/com/coding/basic/Iterator.java b/group05/515505513/Task01/src/com/coding/basic/Iterator.java
new file mode 100644
index 0000000000..06ef6311b2
--- /dev/null
+++ b/group05/515505513/Task01/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/group05/515505513/Task01/src/com/coding/basic/LinkedList.java b/group05/515505513/Task01/src/com/coding/basic/LinkedList.java
new file mode 100644
index 0000000000..ea3d6a07f3
--- /dev/null
+++ b/group05/515505513/Task01/src/com/coding/basic/LinkedList.java
@@ -0,0 +1,48 @@
+package com.coding.basic;
+
+public class LinkedList implements List {
+
+ private Node head;//指针
+ private Object element;//元素
+ //添加一个元素
+ public void add(Object o){
+
+ }
+ //在index处添加一个元素
+ public void add(int index , Object o){
+
+ }
+
+ public Object get(int index){
+ return null;
+ }
+ //清除一个元素
+ public Object remove(int index){
+ return null;
+ }
+
+ public int size(){
+ return -1;
+ }
+
+ public void addFirst(Object o){
+
+ }
+ public void addLast(Object o){
+
+ }
+ public Object removeFirst(){
+ return null;
+ }
+ public Object removeLast(){
+ return null;
+ }
+ public Iterator iterator(){
+ return null;
+ }
+
+ private static class Node{
+ Object data;//元素
+ Node next;//指针
+ }
+}
diff --git a/group05/515505513/Task01/src/com/coding/basic/List.java b/group05/515505513/Task01/src/com/coding/basic/List.java
new file mode 100644
index 0000000000..10d13b5832
--- /dev/null
+++ b/group05/515505513/Task01/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/group05/515505513/Task01/src/com/coding/basic/Queue.java b/group05/515505513/Task01/src/com/coding/basic/Queue.java
new file mode 100644
index 0000000000..fd316ac7bf
--- /dev/null
+++ b/group05/515505513/Task01/src/com/coding/basic/Queue.java
@@ -0,0 +1,49 @@
+package com.coding.basic;
+
+public class Queue {
+ private int maxSize;//队列容量
+ private Object[] queue;//队列
+ private int head;//队列头,可以删除
+ private int tail;//队列尾,可以插入
+
+
+ public Queue() {
+ this(10);
+ }
+
+ public Queue(int maxSize) {
+ if(maxSize >=0){
+ this.maxSize = maxSize;
+ this.queue = new Object[maxSize];
+ head = tail = 0;
+ }else {
+ throw new RuntimeException("初始化大小不能小于0");
+ }
+ }
+
+ public void enQueue(Object o){
+ if(tail == maxSize){
+ throw new RuntimeException("队列已满,无法插入新的元素!");
+ }else {
+ queue[tail++] = o;
+ }
+ }
+
+ public Object deQueue(){
+ if(isEmpty()){
+ throw new RuntimeException("空队列异常!");
+ }else {
+ Object value = queue[head];
+ queue[head++] = null;
+ return value;
+ }
+ }
+ //队列是否为空
+ public boolean isEmpty(){
+ return head==tail?true:false;
+ }
+
+ public int size(){
+ return tail-head;
+ }
+}
diff --git a/group05/515505513/Task01/src/com/coding/basic/Stack.java b/group05/515505513/Task01/src/com/coding/basic/Stack.java
new file mode 100644
index 0000000000..a85cfed9d2
--- /dev/null
+++ b/group05/515505513/Task01/src/com/coding/basic/Stack.java
@@ -0,0 +1,49 @@
+package com.coding.basic;
+
+public class Stack {
+ private Object[] data;
+ private int capacity;
+ private int size;
+ public Stack(){
+ capacity = 16;
+ size = 0;
+ data = new Object[capacity];
+ }
+ public void push(Object o){
+ if(size < capacity){
+ data[size++] = o;
+ }else {
+ ensureCapacity();
+ data[size++] = o;
+ }
+ }
+
+ private void ensureCapacity() {
+ capacity = capacity*2;
+ }
+ public Object pop(){
+ if(size > 0){
+ System.out.println(data[size-1]);
+ //data[size--] = null;
+ }else {
+ System.out.println("Empty stack");
+ }
+ size--;
+ return data[size];
+ }
+
+ public Object peek(){
+ if(size>0){
+ return data[size-1];
+ }else {
+ return null;
+ }
+ }
+ public boolean isEmpty(){
+
+ return size==0;
+ }
+ public int size(){
+ return size;
+ }
+}
diff --git a/group05/515505513/Task01/src/com/coding/basic/TestExample.java b/group05/515505513/Task01/src/com/coding/basic/TestExample.java
new file mode 100644
index 0000000000..59bfa47a3c
--- /dev/null
+++ b/group05/515505513/Task01/src/com/coding/basic/TestExample.java
@@ -0,0 +1,27 @@
+package com.coding.basic;
+
+public class TestExample {
+
+ public static void main(String[] args) {
+ /*Stack mystack = new Stack();
+ for (int i = 0; i < 10; i++) {
+ mystack.push(i);
+ }
+ for (int i = 0; i < 10; i++) {
+ mystack.pop();
+ System.out.println("==="+mystack.peek());
+ }*/
+
+ /*Test Queue
+ Queue myQqueue = new Queue(10);
+ for (int i = 0; i < 10; i++) {
+ myQqueue.enQueue(i);
+ }
+ for (int i = 0; i < 10; i++) {
+ System.out.println(myQqueue.deQueue());
+ }*/
+
+
+ }
+
+}