From 377324333b1bb1ff1706b5a3fe6033987e846335 Mon Sep 17 00:00:00 2001 From: wayss000 Date: Sun, 26 Feb 2017 23:41:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=8D=9A=E5=AE=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group08/1144989424/firstPractice/readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/group08/1144989424/firstPractice/readme.md b/group08/1144989424/firstPractice/readme.md index ac4feb57b8..d1bf002802 100644 --- a/group08/1144989424/firstPractice/readme.md +++ b/group08/1144989424/firstPractice/readme.md @@ -1,4 +1,5 @@ ### 第一次作业: 1. 实现ArrayList, LinkedList, Queue, Stack 2. 有余力的同学可以实现 BinaryTree 和Iterator -3. 写一篇文章,建议: 描述CPU,内存, 硬盘,指令之间的关系。 \ No newline at end of file +3. 写一篇文章,建议: 描述CPU,内存, 硬盘,指令之间的关系。 +* 我的文章地址:[浅谈CPU,内存, 硬盘,指令之间的关系](http://blog.csdn.net/qq1332479771/article/details/57597710) \ No newline at end of file From 29dd739262cc76dd9d5a20b889266938e9535479 Mon Sep 17 00:00:00 2001 From: wayss000 Date: Tue, 28 Feb 2017 00:10:26 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=9E=E7=8E=B0arraylist=E5=92=8Clinkedl?= =?UTF-8?q?ist=E7=9A=84=E8=BF=AD=E4=BB=A3=E5=99=A8iterator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../firstPractice/src/basic/MyArrayList.java | 25 ++++++++++++++++++- .../firstPractice/src/basic/MyLinkedList.java | 24 +++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/group08/1144989424/firstPractice/src/basic/MyArrayList.java b/group08/1144989424/firstPractice/src/basic/MyArrayList.java index f9cf5b1b80..71efd76681 100644 --- a/group08/1144989424/firstPractice/src/basic/MyArrayList.java +++ b/group08/1144989424/firstPractice/src/basic/MyArrayList.java @@ -83,7 +83,30 @@ public int size(){ } public MyIterator iterator(){ - return null; + return new MyArrayListIterator(this); + } + + private class MyArrayListIterator implements MyIterator{ + private MyArrayList list = null; + private int index = 0; + + private MyArrayListIterator(MyArrayList list){ + this.list = list; + } + + @Override + public boolean hasNext(){ + if(index < size){ + return true; + } + return false; + } + + @Override + public Object next(){ + return list.get(index++); + } + } private void expandArray(){ diff --git a/group08/1144989424/firstPractice/src/basic/MyLinkedList.java b/group08/1144989424/firstPractice/src/basic/MyLinkedList.java index 3894884373..cf3a41c3af 100644 --- a/group08/1144989424/firstPractice/src/basic/MyLinkedList.java +++ b/group08/1144989424/firstPractice/src/basic/MyLinkedList.java @@ -98,10 +98,32 @@ public Object removeLast(){ size--; return deleteNode; } + public MyIterator iterator(){ - return null; + return new MyLinkedListIterator(this); } + private class MyLinkedListIterator implements MyIterator{ + private MyLinkedList list = null; + private int index = 0; + + private MyLinkedListIterator(MyLinkedList list){ + this.list = list; + } + + @Override + public boolean hasNext(){ + if(index < size){ + return true; + } + return false; + } + + @Override + public Object next(){ + return list.get(index++); + } + } private static class Node{ Object data; From 3551ad724267882a4bb7f395e7a752641303aedd Mon Sep 17 00:00:00 2001 From: wayss000 Date: Tue, 28 Feb 2017 23:02:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=86=E6=94=AF=E6=8F=90=E4=BA=A4Iterato?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../firstPractice/src/basic/MyArrayList.java | 25 ++++++++++++++++++- .../firstPractice/src/basic/MyLinkedList.java | 24 +++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/group08/1144989424/firstPractice/src/basic/MyArrayList.java b/group08/1144989424/firstPractice/src/basic/MyArrayList.java index f9cf5b1b80..71efd76681 100644 --- a/group08/1144989424/firstPractice/src/basic/MyArrayList.java +++ b/group08/1144989424/firstPractice/src/basic/MyArrayList.java @@ -83,7 +83,30 @@ public int size(){ } public MyIterator iterator(){ - return null; + return new MyArrayListIterator(this); + } + + private class MyArrayListIterator implements MyIterator{ + private MyArrayList list = null; + private int index = 0; + + private MyArrayListIterator(MyArrayList list){ + this.list = list; + } + + @Override + public boolean hasNext(){ + if(index < size){ + return true; + } + return false; + } + + @Override + public Object next(){ + return list.get(index++); + } + } private void expandArray(){ diff --git a/group08/1144989424/firstPractice/src/basic/MyLinkedList.java b/group08/1144989424/firstPractice/src/basic/MyLinkedList.java index 3894884373..cf3a41c3af 100644 --- a/group08/1144989424/firstPractice/src/basic/MyLinkedList.java +++ b/group08/1144989424/firstPractice/src/basic/MyLinkedList.java @@ -98,10 +98,32 @@ public Object removeLast(){ size--; return deleteNode; } + public MyIterator iterator(){ - return null; + return new MyLinkedListIterator(this); } + private class MyLinkedListIterator implements MyIterator{ + private MyLinkedList list = null; + private int index = 0; + + private MyLinkedListIterator(MyLinkedList list){ + this.list = list; + } + + @Override + public boolean hasNext(){ + if(index < size){ + return true; + } + return false; + } + + @Override + public Object next(){ + return list.get(index++); + } + } private static class Node{ Object data;