Skip to content

Commit 7ec8e0d

Browse files
authored
Merge pull request onlyliuxin#2 from china-kook/master
2017编程提高社群作业:实现基本的数据结构(2017.2.19)
2 parents 7866423 + f6c5754 commit 7ec8e0d

File tree

1 file changed

+81
-0
lines changed
  • group18/935542673/Coding/src/com/ikook/basic_data_structure

1 file changed

+81
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
## 2017编程提高社群作业:实现基本的数据结构(2017.2.19)
2+
3+
1. 实现了ArrayList、LinkedList、Queue(依靠LinkedList实现)、Stack(依靠ArrayList实现)
4+
5+
1.1 ArrayList实现了一下方法:
6+
7+
```
8+
(1)add(Object): 添加元素到集合;
9+
(2)add(int, Object): 添加元素到集合的指定位置;
10+
(3)size(): 返回集合的大小,类型为 int;
11+
(4)isEmpty(): 判断集合是否为空,类型为 boolean;
12+
(5)get(int): 获取集合指定位置的元素;
13+
(6)remove(int): 删除指定位置的对象;
14+
(7)remove(Object): 删除指定的对象;
15+
(8)set(int, Object): 更改集合中指定位置的元素,并返回原来的对象;
16+
(9)iterator(): 返回一个迭代器的实现类。
17+
```
18+
19+
1.2 LinkedList实现了一下方法:
20+
21+
```
22+
(1)addFirst(Object): 在链表头部插入新的元素;
23+
(2)addLast(Object): 在链表尾部插入新的元素;
24+
(3)add(Object): 在链表中插入新的元素;
25+
(4)add(int, Object): 在链表指定位置插入新的元素;
26+
(5)size(): 返回链表的大小,类型为 int;
27+
(6)isEmpty(): 判断链表是否为空,类型为 boolean;
28+
(7)getFirst(): 获取链表头部的元素;
29+
(8)getLast(): 获取链表尾部的元素;
30+
(9)get(int): 获取链表指定位置的元素;
31+
(10)set(int, Object): 更改链表中指定位置的元素,并返回原来的对象。
32+
(11)removeFirst(): 删除链表头部的元素;
33+
(12)removeLast(int): 删除链表尾部的元素;
34+
(13)remove(Object): 删除指定元素;
35+
(14)remove(int): 删除指定位置的元素;
36+
(15)iterator(): 返回一个迭代器的实现类。
37+
```
38+
39+
1.3 Queue实现了一下方法:
40+
41+
```
42+
(1)enQueue(Object): 入队操作;
43+
(2)deQueue(): 出队操作;
44+
(3)size(): 返回队列的长度;
45+
(4)isEmpty(): 判断队列是否为空。
46+
```
47+
48+
1.4 Stack实现了一下方法:
49+
50+
```
51+
(1)push(Object):入栈操作;
52+
(2)pop():出栈操作;
53+
(3)getTop():获取栈顶元素;
54+
(4)isEmpty():判断栈是否为空;
55+
(5)size():获取栈的深度。
56+
```
57+
58+
59+
2. 实现了BinarySearchTree、Iterator接口
60+
61+
2.1 BinarySearchTree实现了一下方法:
62+
63+
```
64+
(1)insert(int):插入操作;
65+
(2)find(int):查找操作;
66+
(3)delete(int):删除操作;
67+
(4)inorderTraverse(Node):遍历操作,采用中序遍历。
68+
```
69+
70+
2.2 Iterator定义了一下方法:
71+
72+
```
73+
(1)hasNext():判断是否有元素没有被遍历;
74+
(2)next():返回游标当前位置的元素并将游标移动到下一个位置;
75+
(3)remove():删除游标左边的元素,在执行完 next 之后该操作只能执行一次。
76+
```
77+
78+
79+
3. 对应以上类做了单元测试
80+
81+
说明:由于作业以实现基本的数据结构为主,则在实现单元测试时,只对正常情况进行了测试,一些异常情况并进行编写测试用例。

0 commit comments

Comments
 (0)