From 95d9fa6a18a20f516cc3d48b8370f78c01048873 Mon Sep 17 00:00:00 2001 From: Ren650119726 <102228177@qq.com> Date: Thu, 23 Feb 2017 14:40:34 +0800 Subject: [PATCH 1/3] --- group17/102228177/.classpath | 6 + group17/102228177/.project | 17 +++ .../102228177/bin/data2_19/ArrayList.class | Bin 0 -> 2476 bytes .../bin/data2_19/BinaryTreeNode.class | Bin 0 -> 2283 bytes group17/102228177/bin/data2_19/Iterator.class | Bin 0 -> 168 bytes .../bin/data2_19/LinkedList$Node.class | Bin 0 -> 589 bytes .../102228177/bin/data2_19/LinkedList.class | Bin 0 -> 2573 bytes group17/102228177/bin/data2_19/List.class | Bin 0 -> 245 bytes group17/102228177/bin/data2_19/Queue.class | Bin 0 -> 1390 bytes group17/102228177/bin/data2_19/Stack.class | Bin 0 -> 1520 bytes group17/102228177/src/data2_19/ArrayList.java | 116 ++++++++++++++ .../src/data2_19/BinaryTreeNode.java | 74 +++++++++ group17/102228177/src/data2_19/Iterator.java | 8 + .../102228177/src/data2_19/LinkedList.java | 142 ++++++++++++++++++ group17/102228177/src/data2_19/List.java | 9 ++ group17/102228177/src/data2_19/Queue.java | 38 +++++ group17/102228177/src/data2_19/Stack.java | 44 ++++++ 17 files changed, 454 insertions(+) create mode 100644 group17/102228177/.classpath create mode 100644 group17/102228177/.project create mode 100644 group17/102228177/bin/data2_19/ArrayList.class create mode 100644 group17/102228177/bin/data2_19/BinaryTreeNode.class create mode 100644 group17/102228177/bin/data2_19/Iterator.class create mode 100644 group17/102228177/bin/data2_19/LinkedList$Node.class create mode 100644 group17/102228177/bin/data2_19/LinkedList.class create mode 100644 group17/102228177/bin/data2_19/List.class create mode 100644 group17/102228177/bin/data2_19/Queue.class create mode 100644 group17/102228177/bin/data2_19/Stack.class create mode 100644 group17/102228177/src/data2_19/ArrayList.java create mode 100644 group17/102228177/src/data2_19/BinaryTreeNode.java create mode 100644 group17/102228177/src/data2_19/Iterator.java create mode 100644 group17/102228177/src/data2_19/LinkedList.java create mode 100644 group17/102228177/src/data2_19/List.java create mode 100644 group17/102228177/src/data2_19/Queue.java create mode 100644 group17/102228177/src/data2_19/Stack.java diff --git a/group17/102228177/.classpath b/group17/102228177/.classpath new file mode 100644 index 0000000000..d171cd4c12 --- /dev/null +++ b/group17/102228177/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group17/102228177/.project b/group17/102228177/.project new file mode 100644 index 0000000000..350a2aab85 --- /dev/null +++ b/group17/102228177/.project @@ -0,0 +1,17 @@ + + + 102228177 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group17/102228177/bin/data2_19/ArrayList.class b/group17/102228177/bin/data2_19/ArrayList.class new file mode 100644 index 0000000000000000000000000000000000000000..160f55d10fa8674cee37a60ff17a26ee731d2486 GIT binary patch literal 2476 zcmZuzTXz#x7~Q8yGijL8(v~zeEq8620F@L)2vpnBVkA%?rBG2}nhaq|G82*swRXU^r@``h0o`SagjegiOts)jCs zfui9W>6^z+PR`V7#-p57cQphB`qzy6#$?&BOOuPMYi5C~A%Wi3X?ai}R5WkrOj|%? zxjE<9b=R=nWux3M0|bc(gw3*9F>SXlFnA-k*=R-}ShpUVv{W%3Dodf$mTkGy0)fQD zGPmcPq8UK|gF5=q-vfc&I(iY7vtb=Oz1fJ49nb~(a+YmgY*bdw+LEzars08{Q!vWQ zM$MAn{$kL*W0BENuH{e5dr}G*#Uf!6Tj@?LM+m!L#{u+{TdC$epzn@E*~YcrylWKh zUNEW(HG*+WXh>|(Hvg#ZniU;Mqy%~l8G?dSeI$_F20gnKB%75Yg>3Ty9T12nwmBnD z2#e1eT`QRk+wMemVyi6;Qv!*$A4-y}T{IsqHr&PAvrfY<*5@A<%&KcSb_8h*3UpiY z04dbWigTZOGi=O-V8yVQ7STj!%=2!|vP&6H#K8zoV_L%*fn9CPtnHd5v!>%id?cXV zmzlJ9TRGOr*guw$(U{e-2Yco0tehQ@vjrXR<5&+B|5!&BpOBW*kdAv^Th8PqQgKPh zG%6VlIp$KEgvWEXVU>$!ErN@f7E`d&tG9(kFwOPf-ur9v1oFsJ0f z>pE8ODOEJ8Rnunj9qA1J|2H~9wt=FO;WHiY;+Qn{g*0|^lMSzkGo2!Cws9VYj#U&` zw65cAvP2SFuMp2fNdx0Ds8rjir;a<)X{{M4=D z)2J291xr@%&Q@I>l}Ol6V*x(h2x0^p!kqW8({v%ihb=(O*&fu$=D<;&Ve8;~7r*j6 zCpeBIpJN~yc!r^5f8-gWeE$l5#(q*)-{Lz;7|?u>#(QYIkLF`^B+gacGlEf!@k_`Q z^a1XXU>Da8C7;svQ$*LH5o;f(F}ak=Cs#NGZxLEz1<=MCBFb*!4AZ$74)QIrqMkh; zi_F?E2Y>ex%v0yQs z|0*EH;@`e`B^Tm{x78@gIDn{O;`QPv6`CZQDQaT5=qH4NXWXSxdf8U-F#%F&mG6jUCFbb?kVF^vZJ_|2=SK zRC@OfB8qqViFm@Jogtl}NV62{EM=M}%sEAEpJ%c~Z5;0@YEeorNp>kh-3aKKWW#3W zv-yDvOE&Y{v5BAYWtF62qrqF0wM!_5!Q%RxzrDmOdLfC$(`~MMSWCcVa=k*XOO)j* zo97aRy@qLA@8CS&;ymBtyhn-Xab~&b+H3xWki1#+KJQ76Qu%Hv*N>cZsk9HNMMK&5 zN~+tp-@_oD^e?|+Af?mwmk^ZwR4x^GflL!Ksh~f0`(wx-HGk|6^?OTmsZbO1*8)^% z{AZkdiSsL?FL2>Gt_)ml;#z97i5pFP-o&jYic+*x6W02hzuFa=rZ`}03&Ucutug!V zvP#NGpu%jik%7bPt6~B7P~uoay+gJ-PnUT=%(23rAuvbL+M#Cq`UeXdggD4OTM6X+ E2NA{D7XSbN literal 0 HcmV?d00001 diff --git a/group17/102228177/bin/data2_19/BinaryTreeNode.class b/group17/102228177/bin/data2_19/BinaryTreeNode.class new file mode 100644 index 0000000000000000000000000000000000000000..9088822d4f510ff17ba4e41b87e6b2ce5d786435 GIT binary patch literal 2283 zcmaKs%TF6u6vn@68ylM;fO!Q12{>)>D>#Iv36Iba9to|%Z9qg(7u8@UW>Pao!&Kqc0?*3E3rArj-zFPPI&8CaK%4NQX_?NF!eH{lNU2@MS|MHxLG)_S(5Dbg zrgo!H=+_WIr$SHOw2ZCl;htgdcxdr_rKp#8b=#D8e>3D9n8ymLq7W$=&Zulp8`7Mlh7{8DKhTd4q+@QMHWa$I9liM7rheqNA#7U5hRw#`YSr(yz%erBC*CQew8@oGXZmn+{J`;#%;!=kW0Xj0X-W1CiKL6XL(W5aSh^3b7f zS_(tSZyLlbN1PYWGovu&0v-KpBNSZS!okJ7MH zpXSB37qqm1NwNp|>)?MtMvkA8fN0%)Qnh?)Jf}AJe}!-BJP+_0OP`}Boq3D+8`pM# z|5q3V^bXN4O3e@QZOF6cQ)1B%!_2~2#Z`>>F>~%a(2@QX@n2{ZfP@QkTY^d$fuMmO zh9ar~E%`vGC;1d(92o5(<(7lO#v?jcJ-NY)I`!UzryJQM;>lTYxBu|!sV z@1UM%&N022PG`??J6msymu8BZOQMJ0N=Y-}In~ni`MQfzeV;O+sF>e5KgmCSl0qhX zhP$EH7-OO1e<7O5zQy>Pw7f~uQ{-HWfM=2LEfTIp!n5dphkMWCbLUw2LwfIZV&3iM zG!b*?#cd+a5N#GW2$SG9Era{Snd54nt3@p10ameuEj(-}r%)@Wz%%I@Q1Hu<{zcF+ z)HT=@Wtz|F=w0EDM39M{l?HbHhGq6JpXuP@43D2>dWUPP$i*t;FY4ME<=p@)oWoV} ztdV=2jebn#CoZ2i=Cjzq7qrtbg)fD#cbQts`yeS_OVM=ZPbl_Tgwi$cOhBtx8Q2&=RkJTmY$pC1d~q literal 0 HcmV?d00001 diff --git a/group17/102228177/bin/data2_19/LinkedList$Node.class b/group17/102228177/bin/data2_19/LinkedList$Node.class new file mode 100644 index 0000000000000000000000000000000000000000..d788f96bca992ae620f269646337c51396c36dc3 GIT binary patch literal 589 zcmZ`$%Syvg5Ixhz#>Uvz)@rSd**< zp?DOQC;VHh+Z)P$OwiN?Lec(PI^~)#pO{j$=ZP{WbLRSPd`>9W|4TF+7HM;L18FRq z$RbBb*Bee2Y{tX_GU`+`p<|JdXV0=Tdg#gUTJ$`rYz2McIU;mbJWXoxof{D-AXqb+ z&Uf2z4DPm}d>91dDj0=*dEu%?s`YeT2Wk@p^V0Wa*!Dye$wA(j}6&={W?U-;T9a(KfkXVwzw xJj#hE3vea_Du7w*Q}KP~C=;1xYl6zJCi42ooGQMyZ<;GMtGX+A}-~Eo+N&>ari% zf8o`ZCEV=7EgF)UY*&M1cl$S%ExXvo=Av`Y`<+AW2HY%Jnx5}FU%&T#pXYgh^oPH` z`4+$ljQinHIFL0|)6eLm_g*yk#br&D>J*!r~1p!_z8-+KTJN zl7eyFGP4RzsfzP$H(lv`)*9iRqJ76wP}2%kXY8C^8dLE0^v?5_bG#9N7vT_s2-QGg ze+V@Q$nHQ0epD-j3Cv2btt?uFIdgHDp6XKhjJZ5-7HoNU4~^1wyQt8x8xn%>npxs( z=t=#X)=2NXAI%B}_hJx06Iun|A%)~F_PYgisQ1p-(6%jvcHv>pChK%bqT^j_Hr_vzqFRQKDlhISh-RKh#`a(0**h&xv{Kc1TN**3K?t4 zmO7Bia7*^6_*4i@=WC|a4`pf3yx6Gflk5;a0ql!4G*pBafCZB?KR1# zi2Bj=6n;L9KN(Xfz3fu@jsB{5@1h{zgyxg>4jAhQerhO9qrqr4vY#X1(D^yBiB{ns z7yiS(s87zxFcJ0b!E-?8qm9{Wr??%Iwu@|!kWV*@vkSfaBoM<8`Y_I#Jx^uc#4*ix z%t2S?dl5Z4&qS=5d+2e}vIM8nvzLQ z2b=FB*i027pCR}d@r4Z>{Z2%g^^S=cUKJTzj8@FpsAD1ZaS7x9KuOv zV1RiWWZs6DkJIEmOe90hr4whLBx~!tSExGg1vPE-ovRDgW$o~vAnu8>;zl{G6 zhW9b>mA&w9Vq!NMM)r$sBEJZqVIv+joJ=~knq{rZN%DbuL2{T~0-Pnuagsbon6ILZ z3FyESfuARh*O!3Op`d-DBB$eH z46&VtbvvbEeY(nARi(;!P|-(Cy5mMrHJN5mgc?z@!vLxTB;Qh&_0_@qManKFYxUHXder*!FiXi-m#?HL|| a5#Db82-%M^st03ug{%DMHSv2EfxiLg>#O$w literal 0 HcmV?d00001 diff --git a/group17/102228177/bin/data2_19/List.class b/group17/102228177/bin/data2_19/List.class new file mode 100644 index 0000000000000000000000000000000000000000..a8d53da1d256bb79a3144df15a71a38b20709614 GIT binary patch literal 245 zcmZvX%L;-}5QhKBTiSJF&v4u%)hgNtg3uyp8z()8VhL(4dbAcjKo1p-(yH3b2lLM` z-#lOU2Y?kO7J7tHENi(uF4lgSR<#A4FwJBm{ajuWe|O4MR1-8A#{^e|-_gc95N0Cy zA83i>} z!c~EenA4;vLtHvDaMVE2`V91=SD>jP%kH*(Xjc?5?uOdxc6GYEc31_m$r!u4ZT@`0vQ>!N~qVa(NG}U(uG0ensk&@7BR@J2ZazqBvTJNfXh@9V2kY z37q6gD3L?(9KjLprLtepmaC&XyZi+y?bScnq@SZfU^7D`ePn0g79t5i56%)Qlt3YT zK7^+gypHo`051}r`^caXsH6jW8|m#FsYCR1NN->P7eYGw8qz2IXh0L`sSk*0yU|_Z zqCQl~2f80r-xR_!zKu{1oLvrC`H&S;EJX=Y3n<-(D6x>zh#W45&hKfhG#vc_!MOgSljDGh=Ii7oWp^0TWy?1x-^PF>@^E@~I{QL4R0GDy!#*{#=?MCjU?=N1d zHzT+8#D*m>``F!c>s{CH)VFsZt5zhCRbACnesrDD0`ra6S=YkQ-EVk|3f63VDlm8G!w+#f`$CvhE{6c!Arx)|&6g8Chbi6}|A zJ%jU=#Az%!*uqU4-v|_ps>wi!hVG%=*STFfBXC>d9F|zI8+JGvg*Ox|kRIq;AmB8E zVc1ePJUwBKG4O(>!4i>DygyU?<7k>E4kmY-C!A@nS-#z5l;B>hzJRPAAouVEW}joO zntG1H?8*O8E@fjz6oty0=!M&DSj(dpJA>x!aLQ6&rq;_ zn1Ib0jXCPdlVa9DF2rdGBmwX)P7zdSHxuxk1iYld`CqWwBP=&!iZ&@~zma+hT6)Y; z;66{0#W9Xj!jWScXA=%upKv@#oLQ`nQ2qtk1DvNf7ycfntZSOo7|jXVTVgRM$J|*= zXfBypktaUyO~SIyUHhNaRs4#y^)&VLHRiNAIyHusoy5|=IG6DOSKZ4xca4?SSQ;fZ zAVygpLrEtn8GMM3lH?(yb-z{*AXw+ejhgi*J{e)XmX7y7@CDm=V}!5cr(1kF9FUTk nu@!dmEc= maxLen){ + grow(); + } + elements[size] = o; + size++; + } + + /** + * 数组扩容 + */ + private void grow(){ + maxLen = maxLen + (maxLen >> 1); + Object[] newArr = new Object[maxLen]; + System.arraycopy(elements, 0, newArr, 0, size); + elements = newArr; + } + + /** + * 在指定索引处添加元素 + * @param i 指定索引 + * @param o 添加元素 + */ + public void add(int i,Object o){ + //判断插入位置大于数组实际长度 + if(i > size){ + size = i; + if(size >= maxLen){//数组大小大于数组最大容量则需要扩容 + grow(); + } + } + //插入位置不大于数组实际长度时,将插入位置的元素向后移。 + for (int j = size; j > i ; j++) { + elements[j] = elements[j-1]; + } + elements[i] = o; + size++; + } + + /** + * 获取传入索引的元素 + * @param index 索引 + * @return 返回传入索引的元素 + */ + public Object get(int index){ + //索引不在实际范围内 + if(index < 0||index >= size){ + throw new ArrayIndexOutOfBoundsException(); + } + for (int i = 0; i < size; i++) { + return elements[index]; + } + return null; + } + + /** + * 删除指定索引元素并返回 + * @param index + * @return 该索引处元素 + */ + public Object remove(int index){ + //索引不在实际范围内 + if(index < 0||index >= size){ + throw new ArrayIndexOutOfBoundsException(); + }else{ + for (int j = index; j < size-1; j++) { + elements[j]=elements[j+1]; + } + size--; + return elements[index]; + } + } + + /** + * 获取大小 + * @return + */ + public int size(){ + return size; + } + +// public Iterator iterator(){ +// return null; +// } + public static void main(String[] args) { + ArrayList list = new ArrayList(); + list.add(0); + list.add(1); + list.add(2); + list.add(3); + list.add(4); + list.add(6, 6); + list.remove(3); + for (int i = 0; i < list.size(); i++) { + System.out.println(i+":"+list.get(i)); + } + } +} diff --git a/group17/102228177/src/data2_19/BinaryTreeNode.java b/group17/102228177/src/data2_19/BinaryTreeNode.java new file mode 100644 index 0000000000..6b091c87b3 --- /dev/null +++ b/group17/102228177/src/data2_19/BinaryTreeNode.java @@ -0,0 +1,74 @@ +package data2_19; + +public class BinaryTreeNode implements Comparable{ + + private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public BinaryTreeNode(Object o) { + this.data = o; + } + + 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; + } + + @Override + public int compareTo(BinaryTreeNode o) { + return (this.data.hashCode() < o.data.hashCode()) ? -1 : + ((this.data.hashCode() == o.data.hashCode()) ? 0 : 1); + } + + public BinaryTreeNode insert(Object o){ + BinaryTreeNode node = new BinaryTreeNode(o); + insertNode(this,node); + return node; + } + + private void insertNode(BinaryTreeNode parentNode, BinaryTreeNode node) { + //父节点大于添加元素 + if(parentNode.compareTo(node) == 1){ + if(parentNode.left == null){ + parentNode.left = node; + return; + } + insertNode(parentNode.left, node); + } + //父节点小于添加元素 + else + if(parentNode.compareTo(node) == -1){ + if(parentNode.right == null){ + parentNode.right = node; + return; + } + insertNode(parentNode.right, node); + }else{ + throw new RuntimeException("No duplicate vertex allowed!"); + } + } + + public static void main(String[] args) { + BinaryTreeNode tree = new BinaryTreeNode(5); + tree.insert(2); + tree.insert(23); + tree.insert(7); + tree.insert(1); + } + +} \ No newline at end of file diff --git a/group17/102228177/src/data2_19/Iterator.java b/group17/102228177/src/data2_19/Iterator.java new file mode 100644 index 0000000000..6d1fd8a2e3 --- /dev/null +++ b/group17/102228177/src/data2_19/Iterator.java @@ -0,0 +1,8 @@ +package data2_19; + +public interface Iterator { + + public boolean hasNext(); + public Object next(); + +} \ No newline at end of file diff --git a/group17/102228177/src/data2_19/LinkedList.java b/group17/102228177/src/data2_19/LinkedList.java new file mode 100644 index 0000000000..87613d0704 --- /dev/null +++ b/group17/102228177/src/data2_19/LinkedList.java @@ -0,0 +1,142 @@ +package data2_19; + +import java.util.NoSuchElementException; + +public class LinkedList implements List { + + private Node head; + private int size; + + public LinkedList(){ + size = 0; + head = null; + } + + public void add(Object o){ + Node node = new Node(o); + if(head == null){ + head = node; + }else{ + //p为游标 从头遍历到尾 + Node p = head; + while(p.next != null){ + p = p.next; + } + p.next = node; + } + size++; + } + + public void add(int index , Object o){ + //判断不为空链表 + if(head != null){ + Node p = head; + int k = 0; + //扫描单链表查找第index-1个节点 + while(k < index-1 && p.next != null){ + k++; + p = p.next; + } + //判断是否找到第index-1个节点 + if(p != null){ + Node node = new Node(o); + node.next = p.next; + p.next = node; + } + size++; + } + } + + public Object get(int index){ + if(index <0 || index >= size){ + throw new IndexOutOfBoundsException(); + }else{ + Node p = head; + int k = 0; + while(k < index && p.next != null){ + k++; + p = p.next; + } + return p.data; + } + } + public Object remove(int index){ + if(index <0 || index >= size){ + throw new IndexOutOfBoundsException(); + }else{ + if(head != null){ + Node p = head; + int k = 0; + while(k > index-1 && p.next != null){ + k++; + p = p.next; + } + Node next = p.next; + p.next = next.next; + size--; + return next.data; + } + } + return null; + } + + 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 node = new Node(o); + if(head == null){ + head = node; + }else{ + Node p = head; + while(p.next != null){ + p = p.next; + } + p.next = node; + } + size++; + } + + public Object removeFirst(){ + if(head == null){ + throw new NoSuchElementException(); + } + Node node = head; + head = node.next; + size--; + return node.data; + } + public Object removeLast(){ + if(head == null){ + throw new NoSuchElementException(); + }else{ + Node p = head; + int k = 0; + while(k < size-1 && p.next != null){ + k++; + p = p.next; + } + Node last = p.next; + p.next = null; + size--; + return last.data; + } + } + + private static class Node{ + Object data; + Node next; + private Node(Object o){ + this.data = o; + this.next = null; + } + } +} \ No newline at end of file diff --git a/group17/102228177/src/data2_19/List.java b/group17/102228177/src/data2_19/List.java new file mode 100644 index 0000000000..95c32f3b27 --- /dev/null +++ b/group17/102228177/src/data2_19/List.java @@ -0,0 +1,9 @@ +package data2_19; + +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(); +} \ No newline at end of file diff --git a/group17/102228177/src/data2_19/Queue.java b/group17/102228177/src/data2_19/Queue.java new file mode 100644 index 0000000000..e945f4a67a --- /dev/null +++ b/group17/102228177/src/data2_19/Queue.java @@ -0,0 +1,38 @@ +package data2_19; +public class Queue { + + private LinkedList linkedList = new LinkedList(); + private int elementCount; + + public Queue() { + this.elementCount = 0; + } + + public void enQueue(Object o){ + linkedList.addLast(o); + elementCount++; + } + + public Object deQueue(){ + Object object = linkedList.removeFirst(); + elementCount--; + return object; + } + + public boolean isEmpty(){ + return elementCount == 0; + } + + public int size(){ + return elementCount; + } + + public static void main(String[] args) { + Queue queue = new Queue(); + queue.enQueue(2); + queue.enQueue(3); + System.out.println(queue.isEmpty()); + System.out.println(queue.size()); + System.out.println(queue.deQueue()); + } +} \ No newline at end of file diff --git a/group17/102228177/src/data2_19/Stack.java b/group17/102228177/src/data2_19/Stack.java new file mode 100644 index 0000000000..2b17605631 --- /dev/null +++ b/group17/102228177/src/data2_19/Stack.java @@ -0,0 +1,44 @@ +package data2_19; + +import java.util.EmptyStackException; + +public class Stack { + private ArrayList elementData; + private int elementCount; + + public Stack() { + this.elementData = new ArrayList(); + this.elementCount = 0; + } + public void push(Object o){ + elementData.add(o); + elementCount++; + } + + public Object pop(){ + Object object = elementData.remove(elementCount-1); + elementCount--; + return object; + } + + public Object peek(){ + if(isEmpty()){ + throw new EmptyStackException(); + } + return elementData.get(elementCount-1); + } + public boolean isEmpty(){ + return elementCount==0; + } + public int size(){ + return elementCount; + } + public static void main(String[] args) { + Stack stack = new Stack(); + stack.push(1); + stack.push(2); + System.out.println(stack.pop()); + System.out.println(stack.peek()); + + } +} \ No newline at end of file From e18643827a86766da8a58f56894795dd9f235ce1 Mon Sep 17 00:00:00 2001 From: Ren650119726 <102228177@qq.com> Date: Thu, 23 Feb 2017 15:27:59 +0800 Subject: [PATCH 2/3] --- group17/102228177/bin/data2_19/ArrayList.class | Bin 2476 -> 0 bytes .../102228177/bin/data2_19/BinaryTreeNode.class | Bin 2283 -> 0 bytes group17/102228177/bin/data2_19/Iterator.class | Bin 168 -> 0 bytes .../102228177/bin/data2_19/LinkedList$Node.class | Bin 589 -> 0 bytes group17/102228177/bin/data2_19/LinkedList.class | Bin 2573 -> 0 bytes group17/102228177/bin/data2_19/List.class | Bin 245 -> 0 bytes group17/102228177/bin/data2_19/Queue.class | Bin 1390 -> 0 bytes group17/102228177/bin/data2_19/Stack.class | Bin 1520 -> 0 bytes 8 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 group17/102228177/bin/data2_19/ArrayList.class delete mode 100644 group17/102228177/bin/data2_19/BinaryTreeNode.class delete mode 100644 group17/102228177/bin/data2_19/Iterator.class delete mode 100644 group17/102228177/bin/data2_19/LinkedList$Node.class delete mode 100644 group17/102228177/bin/data2_19/LinkedList.class delete mode 100644 group17/102228177/bin/data2_19/List.class delete mode 100644 group17/102228177/bin/data2_19/Queue.class delete mode 100644 group17/102228177/bin/data2_19/Stack.class diff --git a/group17/102228177/bin/data2_19/ArrayList.class b/group17/102228177/bin/data2_19/ArrayList.class deleted file mode 100644 index 160f55d10fa8674cee37a60ff17a26ee731d2486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2476 zcmZuzTXz#x7~Q8yGijL8(v~zeEq8620F@L)2vpnBVkA%?rBG2}nhaq|G82*swRXU^r@``h0o`SagjegiOts)jCs zfui9W>6^z+PR`V7#-p57cQphB`qzy6#$?&BOOuPMYi5C~A%Wi3X?ai}R5WkrOj|%? zxjE<9b=R=nWux3M0|bc(gw3*9F>SXlFnA-k*=R-}ShpUVv{W%3Dodf$mTkGy0)fQD zGPmcPq8UK|gF5=q-vfc&I(iY7vtb=Oz1fJ49nb~(a+YmgY*bdw+LEzars08{Q!vWQ zM$MAn{$kL*W0BENuH{e5dr}G*#Uf!6Tj@?LM+m!L#{u+{TdC$epzn@E*~YcrylWKh zUNEW(HG*+WXh>|(Hvg#ZniU;Mqy%~l8G?dSeI$_F20gnKB%75Yg>3Ty9T12nwmBnD z2#e1eT`QRk+wMemVyi6;Qv!*$A4-y}T{IsqHr&PAvrfY<*5@A<%&KcSb_8h*3UpiY z04dbWigTZOGi=O-V8yVQ7STj!%=2!|vP&6H#K8zoV_L%*fn9CPtnHd5v!>%id?cXV zmzlJ9TRGOr*guw$(U{e-2Yco0tehQ@vjrXR<5&+B|5!&BpOBW*kdAv^Th8PqQgKPh zG%6VlIp$KEgvWEXVU>$!ErN@f7E`d&tG9(kFwOPf-ur9v1oFsJ0f z>pE8ODOEJ8Rnunj9qA1J|2H~9wt=FO;WHiY;+Qn{g*0|^lMSzkGo2!Cws9VYj#U&` zw65cAvP2SFuMp2fNdx0Ds8rjir;a<)X{{M4=D z)2J291xr@%&Q@I>l}Ol6V*x(h2x0^p!kqW8({v%ihb=(O*&fu$=D<;&Ve8;~7r*j6 zCpeBIpJN~yc!r^5f8-gWeE$l5#(q*)-{Lz;7|?u>#(QYIkLF`^B+gacGlEf!@k_`Q z^a1XXU>Da8C7;svQ$*LH5o;f(F}ak=Cs#NGZxLEz1<=MCBFb*!4AZ$74)QIrqMkh; zi_F?E2Y>ex%v0yQs z|0*EH;@`e`B^Tm{x78@gIDn{O;`QPv6`CZQDQaT5=qH4NXWXSxdf8U-F#%F&mG6jUCFbb?kVF^vZJ_|2=SK zRC@OfB8qqViFm@Jogtl}NV62{EM=M}%sEAEpJ%c~Z5;0@YEeorNp>kh-3aKKWW#3W zv-yDvOE&Y{v5BAYWtF62qrqF0wM!_5!Q%RxzrDmOdLfC$(`~MMSWCcVa=k*XOO)j* zo97aRy@qLA@8CS&;ymBtyhn-Xab~&b+H3xWki1#+KJQ76Qu%Hv*N>cZsk9HNMMK&5 zN~+tp-@_oD^e?|+Af?mwmk^ZwR4x^GflL!Ksh~f0`(wx-HGk|6^?OTmsZbO1*8)^% z{AZkdiSsL?FL2>Gt_)ml;#z97i5pFP-o&jYic+*x6W02hzuFa=rZ`}03&Ucutug!V zvP#NGpu%jik%7bPt6~B7P~uoay+gJ-PnUT=%(23rAuvbL+M#Cq`UeXdggD4OTM6X+ E2NA{D7XSbN diff --git a/group17/102228177/bin/data2_19/BinaryTreeNode.class b/group17/102228177/bin/data2_19/BinaryTreeNode.class deleted file mode 100644 index 9088822d4f510ff17ba4e41b87e6b2ce5d786435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2283 zcmaKs%TF6u6vn@68ylM;fO!Q12{>)>D>#Iv36Iba9to|%Z9qg(7u8@UW>Pao!&Kqc0?*3E3rArj-zFPPI&8CaK%4NQX_?NF!eH{lNU2@MS|MHxLG)_S(5Dbg zrgo!H=+_WIr$SHOw2ZCl;htgdcxdr_rKp#8b=#D8e>3D9n8ymLq7W$=&Zulp8`7Mlh7{8DKhTd4q+@QMHWa$I9liM7rheqNA#7U5hRw#`YSr(yz%erBC*CQew8@oGXZmn+{J`;#%;!=kW0Xj0X-W1CiKL6XL(W5aSh^3b7f zS_(tSZyLlbN1PYWGovu&0v-KpBNSZS!okJ7MH zpXSB37qqm1NwNp|>)?MtMvkA8fN0%)Qnh?)Jf}AJe}!-BJP+_0OP`}Boq3D+8`pM# z|5q3V^bXN4O3e@QZOF6cQ)1B%!_2~2#Z`>>F>~%a(2@QX@n2{ZfP@QkTY^d$fuMmO zh9ar~E%`vGC;1d(92o5(<(7lO#v?jcJ-NY)I`!UzryJQM;>lTYxBu|!sV z@1UM%&N022PG`??J6msymu8BZOQMJ0N=Y-}In~ni`MQfzeV;O+sF>e5KgmCSl0qhX zhP$EH7-OO1e<7O5zQy>Pw7f~uQ{-HWfM=2LEfTIp!n5dphkMWCbLUw2LwfIZV&3iM zG!b*?#cd+a5N#GW2$SG9Era{Snd54nt3@p10ameuEj(-}r%)@Wz%%I@Q1Hu<{zcF+ z)HT=@Wtz|F=w0EDM39M{l?HbHhGq6JpXuP@43D2>dWUPP$i*t;FY4ME<=p@)oWoV} ztdV=2jebn#CoZ2i=Cjzq7qrtbg)fD#cbQts`yeS_OVM=ZPbl_Tgwi$cOhBtx8Q2&=RkJTmY$pC1d~q diff --git a/group17/102228177/bin/data2_19/LinkedList$Node.class b/group17/102228177/bin/data2_19/LinkedList$Node.class deleted file mode 100644 index d788f96bca992ae620f269646337c51396c36dc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 589 zcmZ`$%Syvg5Ixhz#>Uvz)@rSd**< zp?DOQC;VHh+Z)P$OwiN?Lec(PI^~)#pO{j$=ZP{WbLRSPd`>9W|4TF+7HM;L18FRq z$RbBb*Bee2Y{tX_GU`+`p<|JdXV0=Tdg#gUTJ$`rYz2McIU;mbJWXoxof{D-AXqb+ z&Uf2z4DPm}d>91dDj0=*dEu%?s`YeT2Wk@p^V0Wa*!Dye$wA(j}6&={W?U-;T9a(KfkXVwzw xJj#hE3vea_Du7w*Q}KP~C=;1xYl6zJCi42ooGQMyZ<;GMtGX+A}-~Eo+N&>ari% zf8o`ZCEV=7EgF)UY*&M1cl$S%ExXvo=Av`Y`<+AW2HY%Jnx5}FU%&T#pXYgh^oPH` z`4+$ljQinHIFL0|)6eLm_g*yk#br&D>J*!r~1p!_z8-+KTJN zl7eyFGP4RzsfzP$H(lv`)*9iRqJ76wP}2%kXY8C^8dLE0^v?5_bG#9N7vT_s2-QGg ze+V@Q$nHQ0epD-j3Cv2btt?uFIdgHDp6XKhjJZ5-7HoNU4~^1wyQt8x8xn%>npxs( z=t=#X)=2NXAI%B}_hJx06Iun|A%)~F_PYgisQ1p-(6%jvcHv>pChK%bqT^j_Hr_vzqFRQKDlhISh-RKh#`a(0**h&xv{Kc1TN**3K?t4 zmO7Bia7*^6_*4i@=WC|a4`pf3yx6Gflk5;a0ql!4G*pBafCZB?KR1# zi2Bj=6n;L9KN(Xfz3fu@jsB{5@1h{zgyxg>4jAhQerhO9qrqr4vY#X1(D^yBiB{ns z7yiS(s87zxFcJ0b!E-?8qm9{Wr??%Iwu@|!kWV*@vkSfaBoM<8`Y_I#Jx^uc#4*ix z%t2S?dl5Z4&qS=5d+2e}vIM8nvzLQ z2b=FB*i027pCR}d@r4Z>{Z2%g^^S=cUKJTzj8@FpsAD1ZaS7x9KuOv zV1RiWWZs6DkJIEmOe90hr4whLBx~!tSExGg1vPE-ovRDgW$o~vAnu8>;zl{G6 zhW9b>mA&w9Vq!NMM)r$sBEJZqVIv+joJ=~knq{rZN%DbuL2{T~0-Pnuagsbon6ILZ z3FyESfuARh*O!3Op`d-DBB$eH z46&VtbvvbEeY(nARi(;!P|-(Cy5mMrHJN5mgc?z@!vLxTB;Qh&_0_@qManKFYxUHXder*!FiXi-m#?HL|| a5#Db82-%M^st03ug{%DMHSv2EfxiLg>#O$w diff --git a/group17/102228177/bin/data2_19/List.class b/group17/102228177/bin/data2_19/List.class deleted file mode 100644 index a8d53da1d256bb79a3144df15a71a38b20709614..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmZvX%L;-}5QhKBTiSJF&v4u%)hgNtg3uyp8z()8VhL(4dbAcjKo1p-(yH3b2lLM` z-#lOU2Y?kO7J7tHENi(uF4lgSR<#A4FwJBm{ajuWe|O4MR1-8A#{^e|-_gc95N0Cy zA83i>} z!c~EenA4;vLtHvDaMVE2`V91=SD>jP%kH*(Xjc?5?uOdxc6GYEc31_m$r!u4ZT@`0vQ>!N~qVa(NG}U(uG0ensk&@7BR@J2ZazqBvTJNfXh@9V2kY z37q6gD3L?(9KjLprLtepmaC&XyZi+y?bScnq@SZfU^7D`ePn0g79t5i56%)Qlt3YT zK7^+gypHo`051}r`^caXsH6jW8|m#FsYCR1NN->P7eYGw8qz2IXh0L`sSk*0yU|_Z zqCQl~2f80r-xR_!zKu{1oLvrC`H&S;EJX=Y3n<-(D6x>zh#W45&hKfhG#vc_!MOgSljDGh=Ii7oWp^0TWy?1x-^PF>@^E@~I{QL4R0GDy!#*{#=?MCjU?=N1d zHzT+8#D*m>``F!c>s{CH)VFsZt5zhCRbACnesrDD0`ra6S=YkQ-EVk|3f63VDlm8G!w+#f`$CvhE{6c!Arx)|&6g8Chbi6}|A zJ%jU=#Az%!*uqU4-v|_ps>wi!hVG%=*STFfBXC>d9F|zI8+JGvg*Ox|kRIq;AmB8E zVc1ePJUwBKG4O(>!4i>DygyU?<7k>E4kmY-C!A@nS-#z5l;B>hzJRPAAouVEW}joO zntG1H?8*O8E@fjz6oty0=!M&DSj(dpJA>x!aLQ6&rq;_ zn1Ib0jXCPdlVa9DF2rdGBmwX)P7zdSHxuxk1iYld`CqWwBP=&!iZ&@~zma+hT6)Y; z;66{0#W9Xj!jWScXA=%upKv@#oLQ`nQ2qtk1DvNf7ycfntZSOo7|jXVTVgRM$J|*= zXfBypktaUyO~SIyUHhNaRs4#y^)&VLHRiNAIyHusoy5|=IG6DOSKZ4xca4?SSQ;fZ zAVygpLrEtn8GMM3lH?(yb-z{*AXw+ejhgi*J{e)XmX7y7@CDm=V}!5cr(1kF9FUTk nu@!dmEc Date: Thu, 23 Feb 2017 15:30:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=BF=AD=E4=BB=A3=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group17/102228177/src/data2_19/ArrayList.java | 38 +++++++++++++++++-- group17/102228177/src/data2_19/List.java | 1 + 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/group17/102228177/src/data2_19/ArrayList.java b/group17/102228177/src/data2_19/ArrayList.java index a28c29906d..0f0be01806 100644 --- a/group17/102228177/src/data2_19/ArrayList.java +++ b/group17/102228177/src/data2_19/ArrayList.java @@ -1,5 +1,9 @@ package data2_19; +import java.util.ConcurrentModificationException; +import java.util.NoSuchElementException; + + public class ArrayList implements List{ public static final int defLen = 10; private Object[] elements; @@ -97,9 +101,32 @@ public int size(){ return size; } -// public Iterator iterator(){ -// return null; -// } + public Iterator iterator(){ + return new ArrayListIterator(); + } + + private class ArrayListIterator implements Iterator{ + int cursor; + + @Override + public boolean hasNext() { + return cursor != size; + } + + @Override + public Object next() { + int i = cursor; + if(i >= size){ + throw new NoSuchElementException(); + } + if (i >= elements.length){ + throw new ConcurrentModificationException(); + } + cursor = i+1; + return elements[i]; + } + } + public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(0); @@ -112,5 +139,10 @@ public static void main(String[] args) { for (int i = 0; i < list.size(); i++) { System.out.println(i+":"+list.get(i)); } + + Iterator it = list.iterator(); + while (it.hasNext()) { + System.out.println(it.next()); + } } } diff --git a/group17/102228177/src/data2_19/List.java b/group17/102228177/src/data2_19/List.java index 95c32f3b27..9f1a3f5ce6 100644 --- a/group17/102228177/src/data2_19/List.java +++ b/group17/102228177/src/data2_19/List.java @@ -1,6 +1,7 @@ package data2_19; public interface List { + public void add(Object o); public void add(int index, Object o); public Object get(int index);