diff --git a/group27/1016908591/guoqixuan/src/com/coding/basic/ArrayList.java b/group27/1016908591/guoqixuan/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..2eab2cd640 --- /dev/null +++ b/group27/1016908591/guoqixuan/src/com/coding/basic/ArrayList.java @@ -0,0 +1,123 @@ +package com.coding.basic; + +import java.util.Arrays; + + +public class ArrayList implements List{ + + private int size = 0; + + private Object[] elementData = new Object[100]; + + private int length; + private static final int MAX_SIZE = 50; + + public ArrayList(){ + this(MAX_SIZE); + } + public ArrayList(int maxSize){ + length = 0; + elementData = new Object[maxSize]; + } + + public void add(Object o){ + if(! isFull()){ + elementData[size] =o; + size++; + } + else + elementData = Arrays.copyOf(elementData, elementData.length*2); + + + } + public void add(int index, Object o){ + + makeRoom(index); + elementData[size-1] =o; + size++; + + + + } + + public Object get(int index){ + if(index>0 && indexsize){ + System.out.println("����Խ��"); + return null; + } + Object o = elementData[size]; + System.arraycopy(elementData,index+1,elementData,index,size-index-1); + elementData[size--] = null; + return o; + + + } + + public int size(){ + return elementData.length; + } + + public Iterator iterator(){ + return null; + } + + public boolean isFull(){ + return size == elementData.length; + } + + + private void makeRoom(int index){ + for(int i = size;i>=index;i--){ + elementData[i] =elementData[i-1]; + + } + } + + public Iterator getiterator(){ + return new ArrayListIterator(this); + } + + private class ArrayListIterator implements Iterator{ + ArrayList l = null; + private int nextIndex; + ArrayListIterator(ArrayList l){ + nextIndex = 0; + this.l = l; + + } + @Override + public boolean hasNext() { + + return nextIndex7->10 , 逆置后变为 10->7->3 + */ + public void reverse(){ + + } + + /** + * 删除一个单链表的前半部分 + * 例如:list = 2->5->7->8 , 删除以后的值为 7->8 + * 如果list = 2->5->7->8->10 ,删除以后的值为7,8,10 + + */ + public void removeFirstHalf(){ + + } + + /** + * 从第i个元素开始, 删除length 个元素 , 注意i从0开始 + * @param i + * @param length + */ + public void remove(int i, int length){ + + } + /** + * 假定当前链表和list均包含已升序排列的整数 + * 从当前链表中取出那些list所指定的元素 + * 例如当前链表 = 11->101->201->301->401->501->601->701 + * listB = 1->3->4->6 + * 返回的结果应该是[101,301,401,601] + * @param list + */ + public static int[] getElements(LinkedList list){ + return null; + } + + /** + * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 + * 从当前链表中中删除在list中出现的元素 + + * @param list + */ + + public void subtract(LinkedList list){ + + } + + /** + * 已知当前链表中的元素以值递增有序排列,并以单链表作存储结构。 + * 删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同) + */ + public void removeDuplicateValues(){ + + } + + /** + * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 + * 试写一高效的算法,删除表中所有值大于min且小于max的元素(若表中存在这样的元素) + * @param min + * @param max + */ + public void removeRange(int min, int max){ + + } + + /** + * 假设当前链表和参数list指定的链表均以元素依值递增有序排列(同一表中的元素值各不相同) + * 现要求生成新链表C,其元素为当前链表和list中元素的交集,且表C中的元素有依值递增有序排列 + * @param list + */ + public LinkedList intersection( LinkedList list){ + return null; + } +} diff --git a/group27/1016908591/guoqixuan/src/com/coding/basic/List.java b/group27/1016908591/guoqixuan/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group27/1016908591/guoqixuan/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/group27/1016908591/guoqixuan/src/com/coding/basic/Queue.java b/group27/1016908591/guoqixuan/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..b31c1625b4 --- /dev/null +++ b/group27/1016908591/guoqixuan/src/com/coding/basic/Queue.java @@ -0,0 +1,21 @@ +package com.coding.basic; + +public class Queue { + private LinkedList List = new LinkedList(); + + public void enQueue(Object o){ + List.addLast(o); + } + + public Object deQueue(){ + return List.removeFirst(); + } + + public boolean isEmpty(){ + return List.size()==0; + } + + public int size(){ + return List.size(); + } +} diff --git a/group27/1016908591/guoqixuan/src/com/coding/basic/Stack.java b/group27/1016908591/guoqixuan/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..060fd1862d --- /dev/null +++ b/group27/1016908591/guoqixuan/src/com/coding/basic/Stack.java @@ -0,0 +1,41 @@ +package com.coding.basic; +import java.util.Arrays; +import java.util.EmptyStackException; + +public class Stack { + private ArrayList elementData = new ArrayList(); + private int topIndex =-1;//栈顶元素索引 + private static final int DEFAULT_MAX_SIZE = 50; + private int length; + + //压入一个元素 + public void push(Object o){ + topIndex++; + elementData.add(o); + + + + } + + public Object pop(){ + if(elementData.size() ==0 ){ + throw new EmptyStackException(); + } + topIndex--; + return elementData.remove(elementData.size()-1); + + } + + public Object peek(){ + if(elementData.size()!=1){ + return elementData.get(elementData.size()-1); + } + return null; + } + public boolean isEmpty(){ + return topIndex>0; + } + public int size(){ + return topIndex; + } +} diff --git a/group27/1016908591/week01/.classpath b/group27/1016908591/week01/.classpath new file mode 100644 index 0000000000..fb565a588d --- /dev/null +++ b/group27/1016908591/week01/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group27/1016908591/week01/.gitignore b/group27/1016908591/week01/.gitignore new file mode 100644 index 0000000000..5e56e040ec --- /dev/null +++ b/group27/1016908591/week01/.gitignore @@ -0,0 +1 @@ +/bin diff --git a/group27/1016908591/week01/.project b/group27/1016908591/week01/.project new file mode 100644 index 0000000000..3b3c4fa7ee --- /dev/null +++ b/group27/1016908591/week01/.project @@ -0,0 +1,17 @@ + + + week01 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group27/1016908591/week01/.settings/org.eclipse.jdt.core.prefs b/group27/1016908591/week01/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..7341ab1683 --- /dev/null +++ b/group27/1016908591/week01/.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.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +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 diff --git a/group27/1016908591/week01/src/com/coding/basic/ArrayList.java b/group27/1016908591/week01/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..2eab2cd640 --- /dev/null +++ b/group27/1016908591/week01/src/com/coding/basic/ArrayList.java @@ -0,0 +1,123 @@ +package com.coding.basic; + +import java.util.Arrays; + + +public class ArrayList implements List{ + + private int size = 0; + + private Object[] elementData = new Object[100]; + + private int length; + private static final int MAX_SIZE = 50; + + public ArrayList(){ + this(MAX_SIZE); + } + public ArrayList(int maxSize){ + length = 0; + elementData = new Object[maxSize]; + } + + public void add(Object o){ + if(! isFull()){ + elementData[size] =o; + size++; + } + else + elementData = Arrays.copyOf(elementData, elementData.length*2); + + + } + public void add(int index, Object o){ + + makeRoom(index); + elementData[size-1] =o; + size++; + + + + } + + public Object get(int index){ + if(index>0 && indexsize){ + System.out.println("����Խ��"); + return null; + } + Object o = elementData[size]; + System.arraycopy(elementData,index+1,elementData,index,size-index-1); + elementData[size--] = null; + return o; + + + } + + public int size(){ + return elementData.length; + } + + public Iterator iterator(){ + return null; + } + + public boolean isFull(){ + return size == elementData.length; + } + + + private void makeRoom(int index){ + for(int i = size;i>=index;i--){ + elementData[i] =elementData[i-1]; + + } + } + + public Iterator getiterator(){ + return new ArrayListIterator(this); + } + + private class ArrayListIterator implements Iterator{ + ArrayList l = null; + private int nextIndex; + ArrayListIterator(ArrayList l){ + nextIndex = 0; + this.l = l; + + } + @Override + public boolean hasNext() { + + return nextIndex7->10 , 逆置后变为 10->7->3 + */ + public void reverse(){ + + } + + /** + * 删除一个单链表的前半部分 + * 例如:list = 2->5->7->8 , 删除以后的值为 7->8 + * 如果list = 2->5->7->8->10 ,删除以后的值为7,8,10 + + */ + public void removeFirstHalf(){ + + } + + /** + * 从第i个元素开始, 删除length 个元素 , 注意i从0开始 + * @param i + * @param length + */ + public void remove(int i, int length){ + + } + /** + * 假定当前链表和list均包含已升序排列的整数 + * 从当前链表中取出那些list所指定的元素 + * 例如当前链表 = 11->101->201->301->401->501->601->701 + * listB = 1->3->4->6 + * 返回的结果应该是[101,301,401,601] + * @param list + */ + public static int[] getElements(LinkedList list){ + return null; + } + + /** + * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 + * 从当前链表中中删除在list中出现的元素 + + * @param list + */ + + public void subtract(LinkedList list){ + + } + + /** + * 已知当前链表中的元素以值递增有序排列,并以单链表作存储结构。 + * 删除表中所有值相同的多余元素(使得操作后的线性表中所有元素的值均不相同) + */ + public void removeDuplicateValues(){ + + } + + /** + * 已知链表中的元素以值递增有序排列,并以单链表作存储结构。 + * 试写一高效的算法,删除表中所有值大于min且小于max的元素(若表中存在这样的元素) + * @param min + * @param max + */ + public void removeRange(int min, int max){ + + } + + /** + * 假设当前链表和参数list指定的链表均以元素依值递增有序排列(同一表中的元素值各不相同) + * 现要求生成新链表C,其元素为当前链表和list中元素的交集,且表C中的元素有依值递增有序排列 + * @param list + */ + public LinkedList intersection( LinkedList list){ + return null; + } +} diff --git a/group27/1016908591/week01/src/com/coding/basic/List.java b/group27/1016908591/week01/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group27/1016908591/week01/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/group27/1016908591/week01/src/com/coding/basic/Queue.java b/group27/1016908591/week01/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..b31c1625b4 --- /dev/null +++ b/group27/1016908591/week01/src/com/coding/basic/Queue.java @@ -0,0 +1,21 @@ +package com.coding.basic; + +public class Queue { + private LinkedList List = new LinkedList(); + + public void enQueue(Object o){ + List.addLast(o); + } + + public Object deQueue(){ + return List.removeFirst(); + } + + public boolean isEmpty(){ + return List.size()==0; + } + + public int size(){ + return List.size(); + } +} diff --git a/group27/1016908591/week01/src/com/coding/basic/Stack.java b/group27/1016908591/week01/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..060fd1862d --- /dev/null +++ b/group27/1016908591/week01/src/com/coding/basic/Stack.java @@ -0,0 +1,41 @@ +package com.coding.basic; +import java.util.Arrays; +import java.util.EmptyStackException; + +public class Stack { + private ArrayList elementData = new ArrayList(); + private int topIndex =-1;//栈顶元素索引 + private static final int DEFAULT_MAX_SIZE = 50; + private int length; + + //压入一个元素 + public void push(Object o){ + topIndex++; + elementData.add(o); + + + + } + + public Object pop(){ + if(elementData.size() ==0 ){ + throw new EmptyStackException(); + } + topIndex--; + return elementData.remove(elementData.size()-1); + + } + + public Object peek(){ + if(elementData.size()!=1){ + return elementData.get(elementData.size()-1); + } + return null; + } + public boolean isEmpty(){ + return topIndex>0; + } + public int size(){ + return topIndex; + } +} diff --git "a/group27/1016908591/week01/src/\346\265\205\350\260\210CPU.txt" "b/group27/1016908591/week01/src/\346\265\205\350\260\210CPU.txt" new file mode 100644 index 0000000000..ae0478214c --- /dev/null +++ "b/group27/1016908591/week01/src/\346\265\205\350\260\210CPU.txt" @@ -0,0 +1 @@ +http://blog.csdn.net/weixin_37604160/article/details/61195314 \ No newline at end of file