Skip to content

Commit b3b97ac

Browse files
authored
Merge pull request onlyliuxin#11 from MysteriousAuntieCook/master
1925347167
2 parents d3b006b + d17daa5 commit b3b97ac

File tree

9 files changed

+299
-0
lines changed

9 files changed

+299
-0
lines changed

group01/1925347167/1925347167.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package com.coding.basic;
2+
3+
import java.util.Arrays;
4+
5+
public class ArrayList implements List {
6+
7+
private int size = 0;
8+
9+
private Object[] elementData = new Object[100];
10+
11+
public void add(Object o){
12+
if (fullCheck())
13+
elementData = Arrays.copyOf(elementData, size*2);
14+
elementData[size++] = o;
15+
}
16+
public void add(int index, Object o){
17+
18+
if (fullCheck())
19+
elementData = Arrays.copyOf(elementData, size*2);
20+
if (!rangeCheck(index))
21+
throw new IndexOutOfBoundsException();
22+
for (int i = size; i > index; --i)
23+
elementData[i] = elementData[i-1];
24+
elementData[index] = o;
25+
size++;
26+
}
27+
28+
public Object get(int index){
29+
if (rangeCheck(index))
30+
return elementData[index];
31+
throw new IndexOutOfBoundsException();
32+
}
33+
34+
public Object remove(int index){
35+
if (!rangeCheck(index))
36+
throw new IndexOutOfBoundsException();
37+
Object rmo = elementData[index];
38+
for (int i = index; i < size-1; ++i)
39+
elementData[i] = elementData[i-1];
40+
size--;
41+
return rmo;
42+
}
43+
44+
public int size(){
45+
return size;
46+
}
47+
48+
public Iterator iterator(){
49+
return null;
50+
}
51+
52+
private boolean rangeCheck(int index) {
53+
if (index < 0 || index >= size)
54+
return false;
55+
return true;
56+
}
57+
58+
private boolean fullCheck() {
59+
if (size >= elementData.length)
60+
return true;
61+
return false;
62+
}
63+
64+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.coding.basic;
2+
3+
public class BinaryTreeNode {
4+
5+
private Object data;
6+
private BinaryTreeNode left;
7+
private BinaryTreeNode right;
8+
9+
public BinaryTreeNode(Object o) {
10+
data = o;
11+
left = null;
12+
right = null;
13+
}
14+
15+
public Object getData() {
16+
return data;
17+
}
18+
public void setData(Object data) {
19+
this.data = data;
20+
}
21+
public BinaryTreeNode getLeft() {
22+
return left;
23+
}
24+
public void setLeft(BinaryTreeNode left) {
25+
this.left = left;
26+
}
27+
public BinaryTreeNode getRight() {
28+
return right;
29+
}
30+
public void setRight(BinaryTreeNode right) {
31+
this.right = right;
32+
}
33+
34+
public BinaryTreeNode insert(Object o){
35+
return null;
36+
}
37+
38+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.coding.basic;
2+
3+
public interface Iterator {
4+
public boolean hasNext();
5+
public Object next();
6+
7+
}
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
package com.coding.basic;
2+
3+
public class LinkedList implements List {
4+
5+
private Node head;
6+
7+
private int size = 0;
8+
9+
public void add(Object o){
10+
Node tmp = head;
11+
while (tmp.next != null)
12+
tmp = tmp.next;
13+
14+
Node n = new Node(o);
15+
tmp.next = n;
16+
size++;
17+
}
18+
public void add(int index , Object o){
19+
if (!rangeCheck(index))
20+
throw new IndexOutOfBoundsException();
21+
22+
if (index == 0) {
23+
Node newhead = new Node(o);
24+
newhead.next = head;
25+
head = newhead;
26+
} else {
27+
Node tmp = head;
28+
for (int i = 0; i < index - 1; ++i)
29+
tmp = tmp.next;
30+
Node node = new Node(o);
31+
node.next = tmp.next;
32+
tmp.next = node;
33+
}
34+
35+
size++;
36+
}
37+
public Object get(int index){
38+
if (!rangeCheck(index))
39+
throw new IndexOutOfBoundsException();
40+
Node tmp = head;
41+
for (int i = 0; i < index - 1; ++i)
42+
tmp = tmp.next;
43+
return tmp.data;
44+
45+
}
46+
47+
public Object remove(int index){
48+
if (!rangeCheck(index))
49+
throw new IndexOutOfBoundsException();
50+
51+
if (index == 0) {
52+
Node oldHead= head;
53+
head = head.next;
54+
size--;
55+
return oldHead.data;
56+
}else {
57+
Node tmp = head;
58+
for (int i = 0; i < index - 1; i++) {
59+
tmp = tmp.next;
60+
}
61+
Node node = tmp.next;
62+
tmp.next = node.next;
63+
size--;
64+
return node.data;
65+
}
66+
}
67+
68+
public int size(){
69+
return size;
70+
}
71+
72+
public void addFirst(Object o){
73+
Node newHead = new Node(o);
74+
newHead.next = head;
75+
head = newHead;
76+
size++;
77+
}
78+
public void addLast(Object o){
79+
Node tmp = head;
80+
while (tmp.next != null) {
81+
tmp = tmp.next;
82+
}
83+
Node node = new Node(o);
84+
tmp.next = node;
85+
size++;
86+
}
87+
public Object removeFirst(){
88+
if (head == null)
89+
throw new IndexOutOfBoundsException();
90+
Node oldHead = head;
91+
head = head.next;
92+
size--;
93+
return oldHead.data;
94+
}
95+
public Object removeLast(){
96+
if (head == null)
97+
throw new IndexOutOfBoundsException();
98+
Node tmp = head;
99+
while (tmp.next.next != null) {
100+
tmp = tmp.next;
101+
}
102+
Node node = tmp.next;
103+
tmp.next = null;
104+
size--;
105+
return node.data;
106+
}
107+
public Iterator iterator(){
108+
return null;
109+
}
110+
111+
private boolean rangeCheck(int index) {
112+
if (index < 0 || index >= size)
113+
return false;
114+
return true;
115+
}
116+
117+
private static class Node{
118+
Object data;
119+
Node next;
120+
121+
Node(Object data) {
122+
this.data = data;
123+
next = null;
124+
}
125+
126+
}
127+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.coding.basic;
2+
3+
public interface List {
4+
public void add(Object o);
5+
public void add(int index, Object o);
6+
public Object get(int index);
7+
public Object remove(int index);
8+
public int size();
9+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.coding.basic;
2+
3+
public class Queue {
4+
5+
private LinkedList llist = new LinkedList();
6+
7+
public void enQueue(Object o){
8+
llist.add(o);
9+
}
10+
11+
public Object deQueue(){
12+
if (isEmpty())
13+
return null;
14+
return llist.removeFirst();
15+
}
16+
17+
public boolean isEmpty(){
18+
return (llist.size()==0);
19+
}
20+
21+
public int size(){
22+
return -llist.size();
23+
}
24+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.coding.basic;
2+
3+
public class Stack {
4+
5+
private ArrayList elementData = new ArrayList();
6+
7+
public void push(Object o){
8+
elementData.add(o);
9+
}
10+
11+
public Object pop(){
12+
if (isEmpty())
13+
return null;
14+
return elementData.remove(elementData.size() - 1);
15+
}
16+
17+
public Object peek(){
18+
if (elementData.size() == 0)
19+
return null;
20+
return elementData.get(elementData.size() - 1);
21+
}
22+
public boolean isEmpty(){
23+
return (elementData.size() == 0);
24+
}
25+
public int size(){
26+
return elementData.size();
27+
}
28+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

0 commit comments

Comments
 (0)