Skip to content

Commit f40458f

Browse files
committed
no
1 parent e71082c commit f40458f

File tree

11 files changed

+182
-60
lines changed

11 files changed

+182
-60
lines changed

group07/1519504320/.idea/workspace.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

group07/562247675/homework/homework-0226/src/main/java/com/coding2017/group7/homework/c0226/ArrayList.java

Lines changed: 0 additions & 33 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.coding2017.group7.homework.c0226;
2+
3+
import java.util.Arrays;
4+
5+
public class MyArrayList implements MyList {
6+
7+
private int size = 0;
8+
9+
private Object[] elementData = new Object[10];
10+
11+
public void add(Object o) {
12+
if (isFull()) {
13+
increase();
14+
}
15+
elementData[size++] = o;
16+
}
17+
18+
public void add(int index, Object o) {
19+
checkRange(index);
20+
if (isFull()) {
21+
increase();
22+
}
23+
System.arraycopy(elementData, index, elementData, index + 1, size - index);
24+
elementData[index] = o;
25+
size++;
26+
}
27+
28+
public Object get(int index) {
29+
checkRange(index);
30+
return elementData[index];
31+
}
32+
33+
public Object remove(int index) {
34+
checkRange(index);
35+
Object element = elementData[index];
36+
System.arraycopy(elementData, index + 1, elementData, index, size - (index + 1));
37+
elementData[size] = null;
38+
size--;
39+
return element;
40+
}
41+
42+
public int size() {
43+
return size;
44+
}
45+
46+
public MyIterator iterator() {
47+
return new MyArrayListIterator();
48+
}
49+
50+
private boolean isFull() {
51+
return size >= elementData.length;
52+
}
53+
54+
private void checkRange(int index) {
55+
boolean outOfRange = index < 0 || index >= size;
56+
if (outOfRange) {
57+
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
58+
}
59+
}
60+
61+
private void increase() {
62+
Object[] target = new Object[elementData.length * 2];
63+
System.arraycopy(elementData, 0, target, 0, elementData.length);
64+
elementData = target;
65+
}
66+
67+
@Override
68+
public String toString() {
69+
return Arrays.toString(elementData);
70+
}
71+
72+
private class MyArrayListIterator implements MyIterator {
73+
74+
private int index = 0;
75+
76+
@Override
77+
public boolean hasNext() {
78+
return index < size;
79+
}
80+
81+
@Override
82+
public Object next() {
83+
return elementData[index++];
84+
}
85+
}
86+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package com.coding2017.group7.homework.c0226;
2+
3+
import org.junit.After;
4+
import org.junit.Assert;
5+
import org.junit.Before;
6+
import org.junit.FixMethodOrder;
7+
import org.junit.Test;
8+
import org.junit.runners.MethodSorters;
9+
10+
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
11+
public class MyArrayListTest {
12+
13+
private MyArrayList mylist = new MyArrayList();
14+
private final int mysize = 15;
15+
16+
@Before
17+
public void setUp() throws Exception {
18+
for (int i = 0; i < mysize; i++) {
19+
mylist.add(i);
20+
}
21+
}
22+
23+
@After
24+
public void tearDown() throws Exception {
25+
for (int i = mylist.size(); i > 0; i--) {
26+
mylist.remove(i - 1);
27+
}
28+
mylist = null;
29+
}
30+
31+
@Test
32+
public void addLast() throws Exception {
33+
int element = -1;
34+
mylist.add(element);
35+
Assert.assertEquals(mylist.size(), mysize + 1);
36+
Assert.assertTrue(mylist.get(mylist.size() - 1).equals(element));
37+
}
38+
39+
@Test
40+
public void addIndex() throws Exception {
41+
int index = mysize / 2;
42+
int element = -1;
43+
mylist.add(index, element);
44+
Assert.assertTrue(mylist.get(index).equals(element));
45+
Assert.assertEquals(mylist.size(), mysize + 1);
46+
}
47+
48+
@Test
49+
public void get() throws Exception {
50+
Assert.assertTrue(mylist.get(0).equals(0));
51+
}
52+
53+
@Test
54+
public void remove() throws Exception {
55+
int index = mysize / 2;
56+
Object before = mylist.get(index + 1);
57+
Object element = mylist.remove(index);
58+
Object after = mylist.get(index);
59+
Assert.assertTrue(before.equals(after));
60+
Assert.assertEquals(mylist.size(), mysize - 1);
61+
62+
}
63+
64+
@Test
65+
public void size() throws Exception {
66+
Assert.assertEquals(mylist.size(), mysize);
67+
}
68+
69+
@Test
70+
public void iterator() throws Exception {
71+
MyIterator iterator = mylist.iterator();
72+
int count = 0;
73+
while (iterator.hasNext()) {
74+
iterator.next();
75+
count++;
76+
}
77+
Assert.assertEquals(mylist.size(), count);
78+
}
79+
80+
}
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.coding2017.group7.homework.c0226;
22

3-
public class BinaryTreeNode {
3+
public class MyBinaryTreeNode {
44

55
private Object data;
6-
private BinaryTreeNode left;
7-
private BinaryTreeNode right;
6+
private MyBinaryTreeNode left;
7+
private MyBinaryTreeNode right;
88

99
public Object getData() {
1010
return data;
@@ -14,23 +14,23 @@ public void setData(Object data) {
1414
this.data = data;
1515
}
1616

17-
public BinaryTreeNode getLeft() {
17+
public MyBinaryTreeNode getLeft() {
1818
return left;
1919
}
2020

21-
public void setLeft(BinaryTreeNode left) {
21+
public void setLeft(MyBinaryTreeNode left) {
2222
this.left = left;
2323
}
2424

25-
public BinaryTreeNode getRight() {
25+
public MyBinaryTreeNode getRight() {
2626
return right;
2727
}
2828

29-
public void setRight(BinaryTreeNode right) {
29+
public void setRight(MyBinaryTreeNode right) {
3030
this.right = right;
3131
}
3232

33-
public BinaryTreeNode insert(Object o) {
33+
public MyBinaryTreeNode insert(Object o) {
3434
return null;
3535
}
3636

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.coding2017.group7.homework.c0226;
22

3-
public interface Iterator {
3+
public interface MyIterator {
44
public boolean hasNext();
55

66
public Object next();
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.coding2017.group7.homework.c0226;
22

3-
public class LinkedList implements List {
3+
public class MyLinkedList implements MyList {
44

55
private Node head;
66

@@ -40,7 +40,7 @@ public Object removeLast() {
4040
return null;
4141
}
4242

43-
public Iterator iterator() {
43+
public MyIterator iterator() {
4444
return null;
4545
}
4646

group07/562247675/homework/homework-0226/src/main/java/com/coding2017/group7/homework/c0226/List.java renamed to group07/562247675/homework/homework-0226/src/main/java/com/coding2017/group7/homework/c0226/MyList.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.coding2017.group7.homework.c0226;
22

3-
public interface List {
3+
public interface MyList {
44
public void add(Object o);
55

66
public void add(int index, Object o);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.coding2017.group7.homework.c0226;
22

3-
public class Queue {
3+
public class MyQueue {
44

55
public void enQueue(Object o) {
66
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.coding2017.group7.homework.c0226;
22

3-
public class Stack {
4-
private ArrayList elementData = new ArrayList();
3+
public class MyStack {
4+
private MyArrayList elementData = new MyArrayList();
55

66
public void push(Object o) {
77
}

group07/562247675/homework/homework-0226/src/test/java/com/coding2017/group7/homework/c0226/ArrayListTest.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)