Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
357 commits
Select commit Hold shift + click to select a range
a7fc3e8
Add README.md
ikook-wang Feb 24, 2017
b823370
Update README.md
ikook-wang Feb 24, 2017
573356b
Update README.md
ikook-wang Feb 24, 2017
3867bd2
Update README.md
ikook-wang Feb 24, 2017
f6c5754
Update README.md
ikook-wang Feb 24, 2017
40887ad
add
Feb 24, 2017
410454a
Merge branch 'master' of https://github.com/leijing1992/coding2017
Feb 24, 2017
7ec8e0d
Merge pull request #2 from china-kook/master
haolipeng Feb 24, 2017
8a6fbe1
Update README.md
ikook-wang Feb 24, 2017
f83a5a8
Merge pull request #3 from china-kook/master
haolipeng Feb 24, 2017
fb8a52f
迭代器提交
dongqisilent Feb 24, 2017
a0ebef1
添加迭代器的功能
dongqisilent Feb 24, 2017
9a2d4ca
Merge pull request #1 from honokaBiu/master
conf1102 Feb 24, 2017
62eae1c
group 18 744888802 submit task
Feb 24, 2017
0a78bfc
基本的数据结构
yangyangxu2016 Feb 25, 2017
250c46e
完成二叉树
miniyk2012 Feb 25, 2017
d6988d5
update
Feb 25, 2017
8f21b65
Merge pull request #7 from wanghongdi56/master
gaodekui Feb 25, 2017
ce0c358
数组实现ArrayList
zoakerc Feb 25, 2017
19ca2d9
即将修改iterator
zhiyuan0101 Feb 25, 2017
d21429f
Ralf
RalfNick Feb 25, 2017
26f16b0
Ralf
RalfNick Feb 25, 2017
c27c036
implementation of basic data structures
fei9009 Feb 25, 2017
e492c00
2017/02/19/ HomeWork by Hipple
Feb 25, 2017
8338202
Merge remote-tracking branch 'refs/remotes/haolipeng/master'
Feb 25, 2017
be549f3
补充测试用例
miniyk2012 Feb 25, 2017
6008f71
初始化
Feb 25, 2017
1b03166
update
Feb 25, 2017
3a61b46
add gitignore
luoziyihao Feb 25, 2017
17c650a
update
Feb 25, 2017
ae3190c
Merge pull request #4 from amorvos/amorvos
Greastate Feb 25, 2017
71d9737
update
Feb 25, 2017
0b7ce67
Merge pull request #5 from amorvos/amorvos
Greastate Feb 25, 2017
f385948
ArrayList Compeleted
Feb 25, 2017
fe31ff7
init homework
luoziyihao Feb 25, 2017
8d10f0f
basic init
luoziyihao Feb 25, 2017
28616d8
Merge pull request #1 from leijing1992/master
onlyliuxin Feb 25, 2017
8725021
BlingBling~~
XuanDQ Feb 25, 2017
2b8d0e2
structure
vegetableDogBai Feb 25, 2017
e8416e4
'update'
240094626 Feb 25, 2017
cd2383d
week01
xpc8848 Feb 25, 2017
e24cab5
week01
xpc8848 Feb 25, 2017
cda88e1
Merge pull request #8 from dongqihust/master
gaodekui Feb 25, 2017
086eafc
the is List
592146505 Feb 25, 2017
b87fad9
arrayList 0.1
luoziyihao Feb 25, 2017
baf1e68
Basic Data Structure implementation In Java
conf1102 Feb 25, 2017
f2e6a6b
Merge branch 'dev'
conf1102 Feb 25, 2017
5ca4bf2
add code 2-26
vvvandbb Feb 25, 2017
a42e407
LinkedList Completed
Feb 25, 2017
9ef84dc
implement basic data structure
joy32812 Feb 25, 2017
0b24942
第一次作业
fengyang969 Feb 25, 2017
eb3a802
Merge pull request #9 from joy32812/master
gaodekui Feb 25, 2017
c6b11b7
Stack & Queue Completed
Feb 25, 2017
d728768
BinaryTreeNode Completed
Feb 25, 2017
4d1b8b5
Merge pull request #7 from vvvandbb/master
Greastate Feb 25, 2017
2e62dee
Merge pull request #6 from XuanDQ/master
Greastate Feb 25, 2017
6e39ef6
complete
maishihang Feb 25, 2017
749c285
泛型和迭代器
zhiyuan0101 Feb 25, 2017
120db27
泛型和迭代器
zhiyuan0101 Feb 25, 2017
6009626
Move Files To 2-26
Feb 25, 2017
6036020
1
zhiyuan0101 Feb 25, 2017
0815268
数据结构
Feb 25, 2017
beefb0c
Article Of Comp-Units-Relations
Feb 25, 2017
28c8891
update List
592146505 Feb 25, 2017
b2d3dde
提交数据结构
wayss000 Feb 25, 2017
ccac23d
删除一个
wayss000 Feb 25, 2017
172fa74
first commit
songyizhang Feb 25, 2017
c8ea7d6
Merge pull request #11 from wayss000/master
Greastate Feb 25, 2017
a672d37
Merge pull request #10 from zjt-github/master
Greastate Feb 25, 2017
73c69e8
add List ...
Feb 25, 2017
8b50476
0206
yanzhi516 Feb 25, 2017
dcb6d21
Delete .DS_Store
ronanhardiman Feb 25, 2017
63fe85d
update Stack.java
Feb 25, 2017
beb4535
Merge pull request #12 from ronanhardiman/master
Greastate Feb 25, 2017
24e623e
Merge pull request #1 from luoziyihao/master
51075907 Feb 25, 2017
738e8c2
Merge remote-tracking branch 'refs/remotes/luoziyihao/master'
51075907 Feb 25, 2017
fd7d459
Merge branch 'master' of https://github.com/51075907/coding2017
51075907 Feb 25, 2017
bf5dbbd
2-26 assignment
mingming-lu Feb 25, 2017
adb014d
Merge pull request #14 from akinaru-lu/master
Greastate Feb 25, 2017
9073ff3
CPU related
Feb 25, 2017
cc5465d
hand in homework
YukoOshima Feb 25, 2017
9251e42
Merge pull request #15 from ronanhardiman/master
Greastate Feb 25, 2017
c38a630
upload homework for 2-26
chhsalex Feb 25, 2017
db24fec
Merge pull request #17 from chhsalex/master
Greastate Feb 25, 2017
b8e89d2
first commit homework of 2.19
stackwei Feb 25, 2017
2cb6d5c
'update'
240094626 Feb 25, 2017
fd15626
com
luoziyihao Feb 25, 2017
3f68687
homework
haolipeng Feb 25, 2017
3531141
Merge pull request #6 from Hipple/master
haolipeng Feb 25, 2017
cdb9310
add article
luoziyihao Feb 25, 2017
f3f7eb5
Merge pull request #5 from xpc8848/master
haolipeng Feb 25, 2017
0deffde
Merge pull request #4 from sshfuture/master
haolipeng Feb 25, 2017
32c4abc
optimize article.md
luoziyihao Feb 25, 2017
2197ce3
ArrayList 0.2
luoziyihao Feb 25, 2017
cae5cf8
submit homework.875325254.2-26
Greastate Feb 25, 2017
592228b
Merge remote-tracking branch 'origin/master'
Greastate Feb 25, 2017
7f58857
0226 update
yanzhi516 Feb 25, 2017
f1b48fc
0226 update
yanzhi516 Feb 25, 2017
f4bcca7
提交到本地
Feb 25, 2017
5f754ce
2_26作业
Nannf Feb 25, 2017
8970100
rm idea
YukoOshima Feb 25, 2017
893df80
20170226
lihhj Feb 25, 2017
55a2be6
Merge pull request #1 from luoziyihao/master
totoro-fly Feb 25, 2017
8194932
Update 写一篇文章介绍cpu, 内存, 磁盘, 指令以及他们之间的关系_20170226.md
totoro-fly Feb 25, 2017
05da6d2
Merge pull request #20 from Nannf/master
Greastate Feb 25, 2017
bca76d7
Merge pull request #19 from xiongyilun/master
Greastate Feb 25, 2017
6b30a5c
Merge pull request #18 from YukoOshima/master
Greastate Feb 25, 2017
e9a7f7a
链表实现LinkedList
zoakerc Feb 25, 2017
03c6b3a
文章链接
RalfNick Feb 25, 2017
9fc143e
Merge pull request #11 from RalfNick/master
honokaBiu Feb 25, 2017
0ecfcfb
Merge pull request #10 from 592146505/master
honokaBiu Feb 25, 2017
10f9308
Merge pull request #9 from conf1102/master
honokaBiu Feb 25, 2017
ddbb860
2017.2.25 史磊提交作业
Feb 25, 2017
6f952f1
2016.2.25 史磊提交作业
Feb 25, 2017
449ae44
Merge pull request #21 from McRays/master
Greastate Feb 25, 2017
b62ffb6
Merge pull request #1 from miniyk2012/master
Feb 25, 2017
829aec0
Merge pull request #3 from FelixCJF/master
Feb 25, 2017
692b812
Add my first code v1.0
harryhook Feb 25, 2017
dfa4596
Merge pull request #4 from fei9009/master
Feb 25, 2017
b0fb337
Merge pull request #5 from hwjcc969/master
Feb 25, 2017
021a19d
finish basic data structures, pass all unit tests
Feb 25, 2017
051a3a6
add ArrayList and LinkedList
Feb 25, 2017
8872d60
。。。
zhiyuan0101 Feb 25, 2017
17454cc
栈实现MyStack
zoakerc Feb 25, 2017
2ff2c32
Merge pull request #6 from eloiseSJTU/dev
Feb 25, 2017
dca4822
update junit test
fei9009 Feb 25, 2017
badc555
Merge pull request #1 from luoziyihao/master
songyizhang Feb 25, 2017
d7f0ba3
article
songyizhang Feb 25, 2017
683079a
LinkedList 0.1
luoziyihao Feb 25, 2017
1ff9487
Create 文章链接
yangyangxu2016 Feb 25, 2017
93890b3
基本数据结构
yangyangxu2016 Feb 25, 2017
e861019
Merge pull request #23 from yangyangxu2016/master
Greastate Feb 25, 2017
3b471a5
队列实现MyQueue
zoakerc Feb 25, 2017
d34ad3d
commit Korben's basic data structure
Korben-CHY Feb 25, 2017
75cda5d
commit Korben's blog
Korben-CHY Feb 25, 2017
11d6622
Update Korben.md to format blog address
Korben-CHY Feb 25, 2017
c53e09d
二叉树实现MyBinaryTree
zoakerc Feb 25, 2017
e57495b
测试ArrayList实现
zoakerc Feb 25, 2017
88727f1
测试LinkedList实现
zoakerc Feb 25, 2017
61d594f
测试Stack实现
zoakerc Feb 25, 2017
a2a8047
测试Queue实现
zoakerc Feb 25, 2017
5befa49
测试BinaryTree实现
zoakerc Feb 25, 2017
8d011fa
Finish Except Tree
congcongcong250 Feb 26, 2017
57e6b7a
day1_homeawork
51075907 Feb 26, 2017
97248d3
提交基础数据结构类
liuqingchen Feb 26, 2017
e6ef9f1
Add my first code v1.1
harryhook Feb 26, 2017
0275882
add ignore
harryhook Feb 26, 2017
7ff39a4
githubDesktop
hzc1234567 Feb 26, 2017
6d3967a
BinaryTree
congcongcong250 Feb 26, 2017
1b9deb8
Merge pull request #11 from Greastate/master
onlyliuxin Feb 26, 2017
1b7562a
Merge pull request #6 from haolipeng/master
onlyliuxin Feb 26, 2017
85e82cd
Merge pull request #4 from leijing1992/master
onlyliuxin Feb 26, 2017
f83c004
2月26作业,除文章
Feb 26, 2017
cbcb4c1
Merge pull request #10 from stackwei/master
gaodekui Feb 26, 2017
31d6db4
Merge pull request #11 from hzc1234567/master
gaodekui Feb 26, 2017
0a04395
add 5 soc files as homework
gukz Feb 26, 2017
d4aad3d
add to list files
gukz Feb 26, 2017
c078bfb
Revert "githubDesktop"
hzc1234567 Feb 26, 2017
d4970d0
再次提交更新
gaodekui Feb 23, 2017
d833bb6
提交队列实现
gaodekui Feb 25, 2017
c2028b7
提交队列
gaodekui Feb 26, 2017
9f44c5e
Merge pull request #8 from loveyuanyuanisluckly/master
guodongym Feb 26, 2017
2ef14ac
Merge pull request #7 from maishihang/master
guodongym Feb 26, 2017
80f24b9
Merge pull request #6 from vegetableDogBai/master
guodongym Feb 26, 2017
b33c76f
Merge pull request #7 from fei9009/master
Feb 26, 2017
e62e923
Merge pull request #8 from HarryHook/master
Feb 26, 2017
2e0d430
Merge pull request #9 from congcongcong250/master
Feb 26, 2017
3fb5fa2
First Homework at 17/2/26
Wrecksoul Feb 26, 2017
5c18ae5
add all java
Ven13 Feb 26, 2017
40c9e4f
update from upstream
Wrecksoul Feb 26, 2017
cb4ca62
Revert "第一次作业"
Feb 26, 2017
d4847fe
Merge pull request #10 from eloiseSJTU/revert-5-master
Feb 26, 2017
2d81ec7
Merge pull request #1 from eloiseSJTU/master
Ven13 Feb 26, 2017
d2ab3e8
Update 写一篇文章介绍cpu, 内存, 磁盘, 指令以及他们之间的关系_20170226.md
Ren650119726 Feb 26, 2017
a9f1a9c
Update 写一篇文章介绍cpu, 内存, 磁盘, 指令以及他们之间的关系_20170226.md
Wrecksoul Feb 26, 2017
9679cac
honoka.md
honokaBiu Feb 26, 2017
3dcacd1
Merge branch 'master' into master
Wrecksoul Feb 26, 2017
a85c46f
Update honoka.md
honokaBiu Feb 26, 2017
3ea180f
commit
Feb 26, 2017
87dcc87
Revert "Master"
Feb 26, 2017
a9c6a64
0226作业
Feb 26, 2017
9b22a01
Merge pull request #12 from eloiseSJTU/revert-8-master
Feb 26, 2017
a2e298b
Merge pull request #11 from Ven13/master
Feb 26, 2017
571f8a9
提交基础数据结构类
liuqingchen Feb 26, 2017
1595986
Merge pull request #9 from onlyLYJ/master
guodongym Feb 26, 2017
97edd16
Merge pull request #12 from Ren650119726/patch-1
luoziyihao Feb 26, 2017
c230748
Merge pull request #11 from Wrecksoul/master
luoziyihao Feb 26, 2017
7d1ed27
Merge pull request #10 from williamgx8/master
luoziyihao Feb 26, 2017
9191dae
Merge pull request #9 from 51075907/master
luoziyihao Feb 26, 2017
b8ac309
Merge pull request #8 from lihhj/master
luoziyihao Feb 26, 2017
29f0e0d
Merge pull request #5 from Ren650119726/master
luoziyihao Feb 26, 2017
f88a48f
Merge pull request #4 from songyizhang/master
luoziyihao Feb 26, 2017
71d6757
Merge pull request #3 from 240094626/master
luoziyihao Feb 26, 2017
05fc6ef
Merge pull request #2 from 12378wzy/master
luoziyihao Feb 26, 2017
9005eb2
Merge pull request #1 from totoro-fly/master
luoziyihao Feb 26, 2017
abd1eca
第一次作业
liuqingchen Feb 26, 2017
5cc9d7c
提交基础数据结构
liuqingchen Feb 26, 2017
1c4c321
rm spare .gitignore
luoziyihao Feb 26, 2017
cf6ea46
ok LinkedList
luoziyihao Feb 26, 2017
564f89a
Merge pull request #15 from lqingchenl/master
Feb 26, 2017
306b41b
ok queue, Stack
luoziyihao Feb 26, 2017
22d30e2
441908378 week1 homework
wdtxzy Feb 26, 2017
b310ab3
Merge pull request #14 from luoziyihao/master
onlyliuxin Feb 26, 2017
088a0bd
Merge pull request #13 from honokaBiu/master
onlyliuxin Feb 26, 2017
6a0535d
Submit my first code
harryhook Feb 26, 2017
abb1a25
提交作业
guodongym Feb 26, 2017
9a9a5d8
Merge remote-tracking branch 'refs/remotes/gaodekui/master'
Feb 26, 2017
ebd5820
作业提交
Feb 26, 2017
5be5c11
to be test
gukz Feb 26, 2017
9135105
Merge pull request #16 from HarryHook/master
Feb 26, 2017
5c888ed
add Test junit
Ven13 Feb 26, 2017
53bf53d
第一次数据结构作业
HapppyLiu Feb 26, 2017
1398fcd
home work
ericwang1984 Feb 26, 2017
915f294
Merge pull request #18 from lhpmatlab/master
Feb 26, 2017
f9fe902
Revert "第一次数据结构作业"
Feb 26, 2017
97a370b
Merge pull request #19 from eloiseSJTU/revert-18-master
Feb 26, 2017
5cfb6d5
Revert "Revert "第一次数据结构作业""
Feb 26, 2017
e539934
Merge pull request #20 from eloiseSJTU/revert-19-revert-18-master
Feb 26, 2017
3648573
Merge pull request #2 from eloiseSJTU/master
Ven13 Feb 26, 2017
416c93c
add Stack and Queue
Feb 26, 2017
63a23fd
第一次数据结构
HapppyLiu Feb 26, 2017
a0ef984
MyArrayList,MyLinkedList,Queue,Stack
ZhoufeifeiJAVA Feb 26, 2017
49f8033
Merge pull request #12 from ericwang1984/master
guodongym Feb 26, 2017
d5fd4c1
Merge pull request #11 from GUK0/master
guodongym Feb 26, 2017
74d9dee
Merge pull request #10 from wdtxzy/master
guodongym Feb 26, 2017
2768aaf
Merge pull request #21 from ZhoufeifeiJAVA/master
Feb 26, 2017
075a0bd
Merge pull request #22 from lhpmatlab/master
Feb 26, 2017
38e9252
Merge pull request #14 from duxiaolong/master
gaodekui Feb 26, 2017
a478b9f
Merge pull request #13 from stevenshane/master
gaodekui Feb 26, 2017
91ea466
Merge pull request #15 from hilihan/master
gaodekui Feb 26, 2017
f9297d8
Merge pull request #12 from hzc1234567/revert-11-master
gaodekui Feb 26, 2017
71b3352
Merge pull request #3 from eloiseSJTU/master
Ven13 Feb 26, 2017
83d2c9d
Merge pull request #23 from Ven13/master
Feb 26, 2017
6c540cb
2月26日作业
onlyliuxin Feb 26, 2017
8f29473
Merge pull request #18 from guodongym/master
onlyliuxin Feb 26, 2017
f9b9208
Merge branch 'master' into master
onlyliuxin Feb 26, 2017
d9c0269
Merge pull request #16 from gaodekui/master
onlyliuxin Feb 26, 2017
b073bb8
ArrayList and LiknedList test pass
congcongcong250 Feb 26, 2017
9197183
Stack and Queue test pass
congcongcong250 Feb 26, 2017
b9b061c
Simple BinaryTreeNode test pass
congcongcong250 Feb 26, 2017
54de242
Merge pull request #24 from congcongcong250/master
Feb 26, 2017
ed776ab
LinkedList add a throw
Ven13 Feb 26, 2017
f530c65
20170227_09:52
orajavac Feb 27, 2017
6799d3d
123
orajavac Feb 27, 2017
d54fe1e
999
orajavac Feb 27, 2017
7f0db0b
Merge pull request #25 from Ven13/master
Feb 27, 2017
d7a0caf
Merge pull request #26 from orajavac/master
Feb 27, 2017
fe4b28c
Merge pull request #27 from onlyliuxin/master
Feb 27, 2017
4cd858a
Revert "第一次数据结构作业"
Feb 27, 2017
37551bd
Merge pull request #29 from eloiseSJTU/revert-20-revert-19-revert-18-…
Feb 27, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 16 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

Expand All @@ -8,9 +7,25 @@
*.war
*.ear

*.iml
*.idea


# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

#ide config
.metadata
.recommenders


#macOS
.DS_Store

.idea/
*.iml
rebel.*
.rebel.*

target

Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
package com.github.Ven13.coding2017.basic;

public class ArrayList implements List {

//���ؼ��ϴ�С
private int size = 0;

//�ȸ���һ������Ϊ10������
Object[] elementData = new Object[100];

@Override
//��̬����Ԫ��
public void add(Object o) {
//���ж������Ƿ�����
if(size == elementData.length) {
Object[] newObjects = new Object[elementData.length * 2];
System.arraycopy(elementData, 0, newObjects, 0, elementData.length);
elementData = newObjects;
}

//Ϊ�����ӵ�Ԫ��ָ���±�
elementData[size] = o;
size++;
}

@Override
public void add(int index, Object o) {
//���ж������Ƿ�����
if(size == elementData.length) {
Object[] newObjects = elementData;
this.elementData = new Object[elementData.length * 2];
for(int j = 0; j < newObjects.length; j++) {
this.elementData[j] = newObjects[j];
}
}

for(int i = size - 1; i >= index; i--) {
elementData[i+1] = elementData[i];
}

elementData[index] = o;
size++;
}

@Override
public Object get(int index) {
return elementData[index];
}

@Override
public Object remove(int index) {
if (index > size) {
return null;
};

int moveSize = size - index - 1;

if (moveSize > 0) {
System.arraycopy(elementData, index + 1, elementData, index, size - index - 1);
}
elementData[--size] = null;

//for(int i = index; i < elementData.length; i++) {
// elementData[i] = elementData[i+1];
//}

return elementData;
}

@Override
public int size() {
return size;
}

public Iterator iterator(){
return new ArrayListIterator();
}

private class ArrayListIterator implements Iterator {

private int currentIndex = 0;

@Override
public boolean hasNext() {
if(currentIndex >= size) return false;
else return true;
}

@Override
public Object next() {
Object o = elementData[currentIndex];
currentIndex ++;
return o;
}
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.github.Ven13.coding2017.basic;

public class BinaryTreeNode {

private Object data;
private BinaryTreeNode left;
private BinaryTreeNode right;

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;
}

public BinaryTreeNode insert(Object o){
return null;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.github.Ven13.coding2017.basic;

public interface Iterator {
public boolean hasNext();
public Object next();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
package com.github.Ven13.coding2017.basic;

public class LinkedList implements List {

//��ʾ�������ij���
private int size;

//������ͷԪ��
private Node head;
//������βԪ��
private Node tail;

//ʹ���ڲ�����ʵ��������ÿһ���ڵ㣬ÿ���ڵ���һ��ָ����һ��Ԫ�ص�next���Լ�������data
private static class Node {
public Object data;
public Node next;

public Node(Object data) {
this.data = data;
}
}

//�����Ĺ��췽��
public LinkedList() {
}

@Override
public void add(Object o) {
add(size, o);
}

@Override
public void add(int index, Object o) {
if(index == 0) {
addFirst(o);
} else {
if(index >= size) {
addLast(o);
} else {
Node node = head;
for (int i = 1; i < index; i++) {
head = head.next;
}
Node nextNode = node.next;
Node temp = new Node(o);
node.next = temp;
temp.next = nextNode;
size++;
}
}
}

//����ǰ��
public void addFirst(Object o) {
Node newNode = new Node(o);
newNode.next = head;
head = newNode;
size++;
if(tail == null) {
tail = head;
}
}

//���Ӻ���
public void addLast(Object o) {
if(tail == null) {
tail = head = new Node(o);
} else {
Node newNode = new Node(o);
tail.next = newNode;
tail = tail.next;
}
size++;
}


@Override
public Object get(int index) {
Node node = head;
for(int i = 0; i < index; i++) {
node = node.next;
}
return node.data;
}

@Override
public Object remove(int index) {
if(size == 0) {
throw new java.util.NoSuchElementException();
}
if(index == 0) {
Node node = head;
Node temp = node.next;
head = temp;
size--;
return node.data;
} else {
if(index >= size) {
throw new java.util.NoSuchElementException();
} else {
Node node = head;
for(int i = 1; i < index; i++) {
node = node.next;
}
Node temp = node.next;
node.next = temp.next;
size--;
return node.data;
}
}

}

@Override
public int size() {
return size;
}

public Object removeFirst() {
//ͨ��ͷָ�봴��ͷ�ڵ�
Node hNode = head;
if (hNode == null) {
throw new java.util.NoSuchElementException();
}
Node nNode = hNode.next;
Object element = hNode.data;

//�Ƴ�
hNode.data = null;
hNode.next = null;
head = nNode;
//�ж��Ƿ�Ϊβ�ڵ�
if (nNode == null) {
tail = null;
}else {
nNode = null;
}
size --;
return element;
}

public Object removeLast() {
return remove(size - 1);
}

public Iterator iterator() {
return new LinkedListIterator();
}

private class LinkedListIterator implements Iterator {

private Node node = head.next;

@Override
public boolean hasNext() {
return node != tail;
}

@Override
public Object next() {

if(!hasNext()) {
throw new java.util.NoSuchElementException();
}
Object nextData = node.data;
node = node.next;
return nextData;
}

}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.github.Ven13.coding2017.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();

public Iterator iterator();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.github.Ven13.coding2017.basic;

public class Queue {

private LinkedList list = new LinkedList();
private int size = 0;

public void enQueue(Object o){
size++;
list.addLast(o);
}

public Object deQueue(){
size--;
return list.removeFirst();
}

public boolean isEmpty(){
if(size == 0) {
return true;
} else {
return false;
}
}

public int size(){
return size;
}

}
Loading