Skip to content

Commit d7b3f1e

Browse files
committed
完成提交
1 parent d4a25d6 commit d7b3f1e

File tree

7 files changed

+173
-0
lines changed

7 files changed

+173
-0
lines changed

group20/286166752/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.idea/
2+
286166752.iml
3+
out/
4+
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package wiki.liven.code.dataStructures;
2+
3+
/**
4+
* Created by leven on 2017/2/21.
5+
*/
6+
public class ArrayList implements List{
7+
8+
/**
9+
* 列表中元素的个数
10+
*/
11+
private int size = 0;
12+
private int maxSize = 100;
13+
/**
14+
* 初始数组
15+
*/
16+
private Object[] elementData = new Object[maxSize];
17+
18+
/**
19+
* 在指定的位置i插入元素O
20+
* 插入元素,判断当前列表中元素的个数,
21+
* 当size==100,则需要扩张数组
22+
* 当size<100,则使用初始数组完成插入操作
23+
* 插入操作:
24+
* 从最后一个元素开始,往后移动一位,直到到index为止.
25+
* @param index
26+
* @param o
27+
*/
28+
@Override
29+
public void add(int index, Object o) {
30+
if (size>=maxSize){
31+
Object[] targt = new Object[++maxSize];
32+
System.arraycopy(elementData,0,targt,0,maxSize);
33+
for (int j = targt.length;j>=index;j--){
34+
targt[j-1] = targt[j-2];
35+
}
36+
targt[index] = o;
37+
size++;
38+
}else if(size<maxSize){
39+
for (int j = elementData.length;j>=index;j--){
40+
elementData[j-1] = elementData[j-2];
41+
}
42+
elementData[index] = o;
43+
size++;
44+
}
45+
}
46+
47+
/**
48+
* 追加元素
49+
* @param o
50+
*/
51+
@Override
52+
public void add(Object o) {
53+
if (size>=maxSize){
54+
Object[] targt = new Object[++maxSize];
55+
System.arraycopy(elementData,0,targt,0,maxSize);
56+
targt[maxSize-1] = o;
57+
size++;
58+
}else if(size<maxSize){
59+
elementData[size-1] = o;
60+
size++;
61+
}
62+
}
63+
64+
@Override
65+
public Object get(int index) {
66+
return elementData[index];
67+
}
68+
69+
@Override
70+
public Object remove(int index) {
71+
Object temp = elementData[index];
72+
for (int i = index;i>size-1;i++){
73+
elementData[i] = elementData[i+1];
74+
}
75+
return temp;
76+
}
77+
78+
@Override
79+
public int size() {
80+
return size;
81+
}
82+
83+
84+
85+
86+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package wiki.liven.code.dataStructures;
2+
3+
/**
4+
* Created by leven on 2017/2/21.
5+
*/
6+
public class LinkedList implements List{
7+
8+
private Node head;
9+
10+
private static class Node{
11+
Object data;
12+
Node next;
13+
}
14+
15+
16+
@Override
17+
public void add(int index, Object o) {
18+
19+
}
20+
21+
@Override
22+
public void add(Object o) {
23+
24+
}
25+
26+
@Override
27+
public Object get(int index) {
28+
return null;
29+
}
30+
31+
@Override
32+
public Object remove(int index) {
33+
return null;
34+
}
35+
36+
@Override
37+
public int size() {
38+
return 0;
39+
}
40+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package wiki.liven.code.dataStructures;
2+
3+
/**
4+
* Created by leven on 2017/2/21.
5+
*/
6+
public interface List {
7+
8+
public void add(Object o);
9+
public void add(int index,Object o);
10+
public Object get(int index);
11+
public Object remove(int index);
12+
public int size();
13+
14+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package wiki.liven.code.dataStructures;
2+
3+
/**
4+
* Created by leven on 2017/2/21.
5+
*/
6+
public class Queue {
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package wiki.liven.code.dataStructures;
2+
3+
/**
4+
* Created by leven on 2017/2/21.
5+
*/
6+
public class Stack {
7+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package wiki.liven.code.test;
2+
3+
/**
4+
* Created by leven on 2017/2/21.
5+
*/
6+
public class SomeDemos {
7+
8+
public static void main(String[] args){
9+
int[] a = new int[10];
10+
a[0] = 4;
11+
System.out.println(a.length);
12+
13+
}
14+
15+
}

0 commit comments

Comments
 (0)