From 52cfaa249acf2729e8714ca1e188b1f619dc651d Mon Sep 17 00:00:00 2001 From: tankexiaomao <514302761@qq.com> Date: Wed, 8 Mar 2017 16:16:01 +0800 Subject: [PATCH 1/3] just test --- group27/514302761/src/com/company/Main.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 group27/514302761/src/com/company/Main.java diff --git a/group27/514302761/src/com/company/Main.java b/group27/514302761/src/com/company/Main.java new file mode 100644 index 0000000000..c43739a918 --- /dev/null +++ b/group27/514302761/src/com/company/Main.java @@ -0,0 +1,8 @@ +package com.company; + +public class Main { + + public static void main(String[] args) { + System.out.print("this is a test"); + } +} From 8485065fa8a60e9c75dd2c080a472640b3cd8695 Mon Sep 17 00:00:00 2001 From: tankexiaomao <514302761@qq.com> Date: Tue, 14 Mar 2017 16:10:30 +0800 Subject: [PATCH 2/3] just test --- .../514302761/src/com/company/ArrayList.java | 75 +++++++++++ .../src/com/company/BinaryTreeNode.java | 32 +++++ .../514302761/src/com/company/Iterator.java | 7 + .../514302761/src/com/company/LinkedList.java | 124 ++++++++++++++++++ group27/514302761/src/com/company/List.java | 9 ++ group27/514302761/src/com/company/Main.java | 8 -- group27/514302761/src/com/company/Queue.java | 19 +++ group27/514302761/src/com/company/Stack.java | 22 ++++ 8 files changed, 288 insertions(+), 8 deletions(-) create mode 100644 group27/514302761/src/com/company/ArrayList.java create mode 100644 group27/514302761/src/com/company/BinaryTreeNode.java create mode 100644 group27/514302761/src/com/company/Iterator.java create mode 100644 group27/514302761/src/com/company/LinkedList.java create mode 100644 group27/514302761/src/com/company/List.java delete mode 100644 group27/514302761/src/com/company/Main.java create mode 100644 group27/514302761/src/com/company/Queue.java create mode 100644 group27/514302761/src/com/company/Stack.java diff --git a/group27/514302761/src/com/company/ArrayList.java b/group27/514302761/src/com/company/ArrayList.java new file mode 100644 index 0000000000..0ca210c919 --- /dev/null +++ b/group27/514302761/src/com/company/ArrayList.java @@ -0,0 +1,75 @@ +package com.company; + +import java.util.Arrays; + +public class ArrayList implements List { + + private int size = 0; + + private Object[] elementData = new Object[100]; + + public void add(Object o){ + if(size+1>elementData.length){ + elementData= Arrays.copyOf(elementData,elementData.length/3*2); + } + elementData[size++]=o; + } + public void add(int index, Object o){ + if(index<0||index>size){ + throw new IndexOutOfBoundsException(); + } + if(size+1>elementData.length){ + elementData=Arrays.copyOf(elementData,elementData.length/3*2); + } + System.arraycopy(elementData,index,elementData,index+1,size-index); + elementData[index]=o; + size++; + } + + + public Object get(int index){ + if(index<0||index>=size){ + throw new IndexOutOfBoundsException(); + } + return elementData[index]; + } + + public Object remove(int index){ + Object old=elementData[index]; + System.arraycopy(elementData,index+1,elementData,index,size-1-index); + size--; + return old; + } + + public int size(){ + for(int i=0;i7->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/514302761/src/com/company/List.java b/group27/514302761/src/com/company/List.java new file mode 100644 index 0000000000..9e9f7bacb7 --- /dev/null +++ b/group27/514302761/src/com/company/List.java @@ -0,0 +1,9 @@ +package com.company; + +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/514302761/src/com/company/Main.java b/group27/514302761/src/com/company/Main.java deleted file mode 100644 index c43739a918..0000000000 --- a/group27/514302761/src/com/company/Main.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.company; - -public class Main { - - public static void main(String[] args) { - System.out.print("this is a test"); - } -} diff --git a/group27/514302761/src/com/company/Queue.java b/group27/514302761/src/com/company/Queue.java new file mode 100644 index 0000000000..060e769c05 --- /dev/null +++ b/group27/514302761/src/com/company/Queue.java @@ -0,0 +1,19 @@ +package com.company; + +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/group27/514302761/src/com/company/Stack.java b/group27/514302761/src/com/company/Stack.java new file mode 100644 index 0000000000..38b00d19ad --- /dev/null +++ b/group27/514302761/src/com/company/Stack.java @@ -0,0 +1,22 @@ +package com.company; + +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 71602fe36ffe27efcd96ce5a5641f08065aaa7db Mon Sep 17 00:00:00 2001 From: tankexiaomao <514302761@qq.com> Date: Fri, 17 Mar 2017 10:21:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=85=88=E4=BA=A4=E4=B8=8B=20=E7=84=B6?= =?UTF-8?q?=E5=90=8E=E8=8D=A1=E4=B8=8B=E7=AC=AC=E4=BA=8C=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/company/BinaryTreeNode.java | 37 ++++- .../514302761/src/com/company/LinkedList.java | 147 ++++++++++++++++-- group27/514302761/src/com/company/Queue.java | 12 +- group27/514302761/src/com/company/Stack.java | 22 ++- 4 files changed, 191 insertions(+), 27 deletions(-) diff --git a/group27/514302761/src/com/company/BinaryTreeNode.java b/group27/514302761/src/com/company/BinaryTreeNode.java index 33a6fe7f15..c4a70a3af6 100644 --- a/group27/514302761/src/com/company/BinaryTreeNode.java +++ b/group27/514302761/src/com/company/BinaryTreeNode.java @@ -2,15 +2,15 @@ public class BinaryTreeNode { - private Object data; + private Comparable data; private BinaryTreeNode left; private BinaryTreeNode right; - + public Object getData() { return data; } public void setData(Object data) { - this.data = data; + this.data = (Comparable) data; } public BinaryTreeNode getLeft() { return left; @@ -25,8 +25,35 @@ public void setRight(BinaryTreeNode right) { this.right = right; } - public BinaryTreeNode insert(Object o){ - return null; + public BinaryTreeNode insert(Comparable o){ + BinaryTreeNode insercode=new BinaryTreeNode(); + BinaryTreeNode compareNode=this; + insercode.setData(o); + while (null!=compareNode){ + if(null==compareNode.getData()){ + compareNode.setData(o); + break; + }else{ + Comparable com= (Comparable) compareNode.getData(); + int result=com.compareTo(o); + if(result==0){ + break; + }else if (result>0){ + if(null==compareNode.getLeft()){ + compareNode.setLeft(insercode); + break; + } + compareNode=compareNode.getLeft(); + }else if(result<0){ + if(null==compareNode.getRight()){ + compareNode.setRight(insercode); + break; + } + compareNode=compareNode.getLeft(); + } + } + } + return insercode; } } diff --git a/group27/514302761/src/com/company/LinkedList.java b/group27/514302761/src/com/company/LinkedList.java index c4efb68fb6..4a5d8da88b 100644 --- a/group27/514302761/src/com/company/LinkedList.java +++ b/group27/514302761/src/com/company/LinkedList.java @@ -1,49 +1,174 @@ package com.company; +import java.util.NoSuchElementException; public class LinkedList implements List { private Node head; public void add(Object o){ - + if(null==head){ + head=new Node(); + head.data=o; + }else { + Node node=head; + while (null!=node.next){ + node=node.next; + } + Node addNode=new Node(); + addNode.data=o; + node.next=addNode; + } } public void add(int index , Object o){ - + int size=size(); + if(index<0&&index>size){ + throw new IndexOutOfBoundsException(); + } + if(index==size){ + add(o); + return; + } + if (size==0){ + head=new Node(); + head.data=o; + return; + } + Node node=head; + Node addNode=new Node(); + addNode.data=o; + for (int i=0;isize()-1){ + throw new IndexOutOfBoundsException(); + } + Node node=head; + for (int i=0;isize()-1){ + throw new IndexOutOfBoundsException(); + } + Node removeNode=head; + if (index==0){ + head=head.next; + }else { + Node node=head; + for (int i=0;i