Skip to content

Commit b3db14d

Browse files
author
unknown
committed
Merge branch 'master' of https://github.com/MrGPanPan/coding2017
2 parents f6c77f4 + e0ca433 commit b3db14d

36 files changed

+2081
-0
lines changed

group11/171535320/ArrayList.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import java.util.Arrays;
2+
import java.util.Objects;
3+
4+
public class ArrayList implements List {
5+
6+
private int size = 0;
7+
8+
private Object[] elementData = new Object[100];
9+
10+
private void ensureCapacity(int minCapacity) {
11+
if(minCapacity > elementData.length) {
12+
Object[] temp = elementData;
13+
int newCapacity = elementData.length * 3 / 2 + 1;
14+
Object[] newArray = new Object[newCapacity];
15+
System.arraycopy(temp, 0, newArray, 0, elementData.length);
16+
elementData = newArray;
17+
}
18+
}
19+
20+
public void add(Object o){
21+
22+
23+
ensureCapacity(size + 1);
24+
elementData[size++] = o;
25+
}
26+
27+
public void add(int index, Object o){
28+
ensureCapacity(size + 1);
29+
System.arraycopy(elementData, index, elementData, index + 1, size - index);
30+
elementData[index] = o;
31+
size++;
32+
}
33+
34+
public Object get(int index){
35+
if(index >= size || index < 0) {
36+
return null;
37+
}
38+
return elementData[index];
39+
}
40+
41+
public Object remove(int index){
42+
if(index < 0 || index >= size) {
43+
return null;
44+
}
45+
Object obj = elementData[index];
46+
47+
System.arraycopy(elementData, index + 1, elementData, index, size - index - 1);
48+
49+
elementData[--size] = null;
50+
51+
return obj;
52+
}
53+
54+
public int size(){
55+
return size;
56+
}
57+
58+
public Iterator iterator(){
59+
return null;
60+
}
61+
62+
}

group11/171535320/BinaryTreeNode.java

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
public class BinaryTreeNode {
2+
3+
private Node root = null;
4+
5+
public void insert(int value) {
6+
if(root == null) {
7+
root = new Node(value);
8+
root.leftNode = null;
9+
root.rightNode = null;
10+
} else {
11+
Node current = root;
12+
Node old = root;
13+
while(true) {
14+
if(value < current.value) {
15+
if(current.leftNode == null) {
16+
current.leftNode = new Node(value);
17+
break;
18+
}
19+
old = current;
20+
current = current.leftNode;
21+
} else {
22+
if(current.rightNode == null) {
23+
current.rightNode = new Node(value);
24+
break;
25+
}
26+
old = current;
27+
current = current.rightNode;
28+
}
29+
}
30+
}
31+
}
32+
33+
}
34+
35+
class Node {
36+
int value;
37+
Node leftNode;
38+
Node rightNode;
39+
40+
public Node(int value) {
41+
this.value = value;
42+
}
43+
}

group11/171535320/Iterator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
public interface Iterator {
2+
public boolean hasNext();
3+
public Object next();
4+
5+
}

group11/171535320/LinkedList.java

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
import java.util.Objects;
2+
3+
public class LinkedList implements List {
4+
5+
private Node head;
6+
7+
public void add(Object o){
8+
if(head == null) {
9+
head = new Node();
10+
head.data = o;
11+
} else {
12+
Node temp = head;
13+
while(temp.next != null) {
14+
temp = temp.next;
15+
}
16+
temp.next = new Node();
17+
temp.next.data = o;
18+
}
19+
}
20+
21+
public void add(int index , Object o){
22+
if(index > size()) {
23+
return ;
24+
}
25+
if(index == 0) {
26+
Node newNode = new Node();
27+
newNode.data = o;
28+
newNode.next = head;
29+
head = newNode;
30+
} else {
31+
int temp = 0;
32+
Node newNode = new Node();
33+
newNode.data = o;
34+
Node tempNode = head;
35+
while(temp != index - 1) {
36+
tempNode = tempNode.next;
37+
++temp;
38+
}
39+
Node tempNode2 = tempNode.next;
40+
tempNode.next = newNode;
41+
newNode.next = tempNode2;
42+
}
43+
}
44+
45+
public Object get(int index){
46+
if(index > size() || size() == 0) {
47+
return null;
48+
}
49+
Node temp = head;
50+
for(int i = 0; i < index; ++i) {
51+
temp = temp.next;
52+
}
53+
54+
return temp.data;
55+
}
56+
57+
58+
public Object remove(int index){
59+
if(size() == 0) {
60+
return null;
61+
}
62+
if(size() == 1) {
63+
Object obj = head.data;
64+
head = null;
65+
return obj;
66+
}
67+
if(index == 0) {
68+
Node temp = head;
69+
head = head.next;
70+
temp.next = null;
71+
} else if(index > size()) {
72+
return null;
73+
} else {
74+
int t = 0;
75+
Node temp = head;
76+
while(t != index - 1) {
77+
temp = temp.next;
78+
++t;
79+
}
80+
Node result = temp.next;
81+
temp.next = temp.next.next;
82+
return result.data;
83+
}
84+
return null;
85+
}
86+
87+
public int size(){
88+
int len = 0;
89+
Node temp = head;
90+
while(temp != null) {
91+
temp = temp.next;
92+
++len;
93+
}
94+
return len;
95+
}
96+
97+
public void addFirst(Object o){
98+
Node temp = new Node();
99+
temp.data = o;
100+
temp.next = head;
101+
head = temp;
102+
}
103+
public void addLast(Object o){
104+
Node newNode = new Node();
105+
newNode.data = o;
106+
107+
if(size() == 0) {
108+
head = newNode;
109+
}
110+
Node temp = head;
111+
while(temp.next != null) {
112+
temp = temp.next;
113+
}
114+
temp.next = newNode;
115+
}
116+
public Object removeFirst(){
117+
if(size() == 0) {
118+
return null;
119+
}
120+
Node temp = head;
121+
head = head.next;
122+
return temp.data;
123+
}
124+
public Object removeLast(){
125+
if(size() == 0) {
126+
return null;
127+
}
128+
if(size() == 1) {
129+
Node temp = head.next;
130+
head = head.next;
131+
return temp.data;
132+
}
133+
Node temp1 = head;
134+
Node temp2 = head.next;
135+
while(temp2.next != null) {
136+
temp1 = temp1.next;
137+
temp2 = temp2.next;
138+
}
139+
temp1.next = null;
140+
return temp2.data;
141+
}
142+
public Iterator iterator(){
143+
return null;
144+
}
145+
146+
147+
private static class Node{
148+
Object data;
149+
Node next;
150+
151+
}
152+
}

group11/171535320/List.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
public interface List {
2+
public void add(Object o);
3+
public void add(int index, Object o);
4+
public Object get(int index);
5+
public Object remove(int index);
6+
public int size();
7+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package stackANDqueue;
2+
3+
import java.util.LinkedList;
4+
import java.util.List;
5+
6+
/**
7+
* Created by dengdechao on 2017/2/22.
8+
*/
9+
public class Queue {
10+
11+
private LinkedList queue = new LinkedList();
12+
13+
public void enQueue(Object o){
14+
queue.add(o);
15+
}
16+
17+
public Object deQueue(){
18+
if(queue.isEmpty()) {
19+
return null;
20+
}
21+
return queue.removeFirst();
22+
}
23+
24+
public boolean isEmpty(){
25+
if(queue.isEmpty()) {
26+
return true;
27+
}
28+
return false;
29+
}
30+
31+
public int size(){
32+
return queue.size();
33+
}
34+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package stackANDqueue;
2+
3+
import java.util.ArrayList;
4+
5+
/**
6+
* Created by dengdechao on 2017/2/22.
7+
*/
8+
public class Stack {
9+
private ArrayList elementData = new ArrayList();
10+
11+
public void push(Object o){
12+
elementData.add(o);
13+
}
14+
15+
public Object pop(){
16+
if(elementData.size() == 0) {
17+
return null;
18+
}
19+
Object obj = null;
20+
for(int i = 0; i < elementData.size(); ++i) {
21+
obj = elementData.get(i);
22+
}
23+
int j = 0;
24+
while(j < elementData.size()) {
25+
++j;
26+
}
27+
elementData.set(j - 1, null);
28+
return obj;
29+
}
30+
31+
public Object peek(){
32+
if(elementData.size() == 0) {
33+
return null;
34+
}
35+
Object obj = null;
36+
for(int i = 0; i < elementData.size(); ++i) {
37+
obj = elementData.get(i);
38+
}
39+
40+
return obj;
41+
}
42+
public boolean isEmpty(){
43+
if(elementData.size() == 0) {
44+
return true;
45+
}
46+
47+
return false;
48+
}
49+
public int size(){
50+
return elementData.size();
51+
}
52+
}

0 commit comments

Comments
 (0)