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