Skip to content

Commit ddbb860

Browse files
author
unknown
committed
2017.2.25 史磊提交作业
1 parent 6b30a5c commit ddbb860

File tree

10 files changed

+287
-24
lines changed

10 files changed

+287
-24
lines changed

group08/782476895/.classpath

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

group08/782476895/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

group08/782476895/.project

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.sl.test20170221;
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+
@Override
12+
public void add(Object o) {
13+
grow(elementData);
14+
elementData[size] = o;
15+
}
16+
17+
@Override
18+
public void add(int index, Object o) {
19+
grow(elementData);
20+
for(int i = size - 1;i >= index;i--){
21+
elementData[i+1] = elementData[i];
22+
}
23+
elementData[index] = o;
24+
}
25+
26+
@Override
27+
public Object get(int index) {
28+
return elementData[index];
29+
}
30+
31+
@Override
32+
public Object remove(int index) {
33+
size--;
34+
for(int i = index;i < size;i++){
35+
elementData[i] = elementData[i+1];
36+
}
37+
elementData[size] = null;
38+
return elementData;
39+
}
40+
41+
@Override
42+
public int size() {
43+
44+
return size;
45+
}
46+
47+
private void grow(Object[] elementData){
48+
size++;
49+
if(size >= elementData.length){
50+
int newSize = elementData.length + 100;
51+
elementData = Arrays.copyOf(elementData, newSize);
52+
}
53+
}
54+
55+
}
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
package com.sl.test20170221;
2+
3+
public class LinkedList implements List{
4+
private Node root;
5+
int index;
6+
7+
public void addNode(String name){
8+
if(root == null){
9+
root = new Node(name);
10+
}else{
11+
root.add(name);
12+
}
13+
}
14+
15+
16+
17+
18+
class Node{
19+
Object data;
20+
Node next;
21+
22+
23+
Node(Object data){
24+
this.data = data;
25+
}
26+
//添加节点
27+
public void add(Object data){
28+
if(this.next == null){
29+
this.next = new Node(data);
30+
}else{
31+
this.next.add(data);
32+
}
33+
}
34+
//删除节点
35+
public Object del(int i){
36+
if(this.next != null){
37+
index++;
38+
if(i == index){
39+
this.next = this.next.next;
40+
return this.next.data;
41+
}else{
42+
this.next.del(i);
43+
}
44+
}
45+
return null;
46+
}
47+
48+
49+
//遍历
50+
public void traversal(){
51+
if(this.next != null){
52+
index++;
53+
this.next.traversal();
54+
}
55+
}
56+
//指定位置增加
57+
public void add(int i, Object o){
58+
if(this.next != null){
59+
if(i == index){
60+
Node node = new Node(data);
61+
node.next = this.next.next;
62+
this.next = node;
63+
return ;
64+
}else{
65+
this.next.add(i,o);
66+
}
67+
index++;
68+
}
69+
}
70+
71+
//得到指定的节点
72+
public Object get(int i){
73+
if(this.next != null){
74+
75+
if(i == index){
76+
return this.data;
77+
}else{
78+
this.next.get(i);
79+
}
80+
index++;
81+
}
82+
return null;
83+
}
84+
85+
}
86+
87+
@Override
88+
public void add(Object data) {
89+
if(root == null){
90+
root = new Node(data);
91+
}else{
92+
root.add(data);
93+
}
94+
}
95+
96+
@Override
97+
public void add(int index, Object o) {
98+
if(root != null){
99+
root.add(index, o);
100+
}
101+
}
102+
103+
@Override
104+
public Object get(int index) {
105+
if(root.next != null){
106+
return root.get(index);
107+
}
108+
return null;
109+
}
110+
111+
@Override
112+
public Object remove(int index) {
113+
if(root != null){
114+
return root.del(index);
115+
}
116+
return null;
117+
}
118+
119+
@Override
120+
public int size() {
121+
if(root != null){
122+
root.traversal();
123+
}
124+
return index;
125+
}
126+
127+
}

group08/782476895/20170215/List.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.sl.test20170221;
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+
}

group08/782476895/20170215/Queue.java

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.sl.test20170221;
2+
3+
import com.sl.test20170221.LinkedList.Node;
4+
5+
public class Queue {
6+
7+
private Node first;
8+
private int index;
9+
10+
class Node{
11+
Object data;
12+
Node next;
13+
14+
15+
Node(Object data){
16+
this.data = data;
17+
}
18+
//添加节点
19+
public void add(Object data){
20+
if(this.next == null){
21+
this.next = new Node(data);
22+
}else{
23+
this.next.add(data);
24+
}
25+
}
26+
27+
//遍历
28+
public void traversal(){
29+
if(this.next != null){
30+
index++;
31+
this.next.traversal();
32+
}
33+
}
34+
}
35+
36+
public void enQueue(Object o){
37+
if(first != null){
38+
first.add(o);
39+
}
40+
}
41+
42+
public Object deQueue(){
43+
if(first != null){
44+
Object obj = first.data;
45+
first = first.next;
46+
return obj;
47+
}
48+
return null;
49+
}
50+
51+
public boolean isEmpty(){
52+
if(first == null){
53+
return true;
54+
}else{
55+
return false;
56+
}
57+
}
58+
59+
public int size(){
60+
if(first != null){
61+
first.traversal();
62+
}
63+
return index;
64+
}
65+
}

group08/782476895/20170215/Stack.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.sl.test20170221;
2+
3+
public class Stack {
4+
private List elementData = new ArrayList();
5+
6+
public void push(Object o){
7+
elementData.add(o);
8+
}
9+
10+
public Object pop(){
11+
int size = elementData.size();
12+
Object obj = elementData.remove(size--);
13+
return obj;
14+
}
15+
16+
public Object peek(){
17+
int size = elementData.size();
18+
return elementData.get(size - 1);
19+
}
20+
public boolean isEmpty(){
21+
int size = elementData.size();
22+
if(size == 0){
23+
return true;
24+
}else{
25+
return false;
26+
}
27+
}
28+
public int size(){
29+
return elementData.size();
30+
}
31+
}

group08/782476895/782476895.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)