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`CZQDQa&1edzSoAYE!4mjDF-|gaT5=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`CZQDQa&1edzSoAYE!4mjDF-|gaT5=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);