Skip to content

Commit f8ed6ad

Browse files
committed
commit
1 parent d030831 commit f8ed6ad

File tree

3 files changed

+110
-9
lines changed

3 files changed

+110
-9
lines changed

group08/283677872/src/com/coding/basic/ArrayList.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.coding.basic;
22

3-
import java.util.Arrays;
4-
53
public class ArrayList implements List {
64

75
private int size = 0;

group08/283677872/src/com/coding/basic/LinkedList.java

Lines changed: 91 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,126 @@ public class LinkedList implements List {
55
private Node head;
66

77
public void add(Object o){
8+
if(head==null)
9+
{
10+
head = new Node();
11+
head.data = o;
12+
}
13+
else
14+
{
15+
Node node = new Node();
16+
getLastNode(head).next = node;
17+
node.data = o;
18+
}
819

920
}
21+
public Node getLastNode(Node node){
22+
if(node.next!=null)
23+
{
24+
return getLastNode(node.next);
25+
}
26+
else
27+
{
28+
return node;
29+
}
30+
}
31+
1032
public void add(int index , Object o){
33+
if(index==0)
34+
{
35+
addFirst(o);
36+
}
37+
else
38+
{
39+
Node node1 = getNode(index-1,head);
40+
Node node2 = getNode(1,node1);
41+
Node node = new Node();
42+
node.data = o;
43+
node.next = node2;
44+
node1.next = node;
45+
46+
}
47+
48+
}
49+
public Node getNode(int index,Node node){
50+
if(index==0)
51+
{
52+
return node;
53+
}
54+
else
55+
{
56+
return getNode(--index,node.next);
57+
}
1158

1259
}
1360
public Object get(int index){
14-
return null;
61+
return getNode(index,head).data;
1562
}
1663
public Object remove(int index){
17-
return null;
64+
Node node1 = getNode(index-1,head);
65+
Node node2 = getNode(1,node1);
66+
Node node3 = getNode(1,node2);
67+
node1.next = node3;
68+
return node2.data;
1869
}
1970

2071
public int size(){
21-
return -1;
72+
int i = 0;
73+
Node node = head;
74+
while(node.next!=null)
75+
{
76+
node = node.next;
77+
i++;
78+
}
79+
return i;
2280
}
2381

2482
public void addFirst(Object o){
25-
83+
Node node = new Node();
84+
node.data =o;
85+
node.next = head;
86+
head = node;
2687
}
2788
public void addLast(Object o){
89+
Node node = new Node();
90+
node.data =o;
91+
getLastNode(head).next = node;
2892

2993
}
3094
public Object removeFirst(){
31-
return null;
95+
Node node = head;
96+
Node node1 = getNode(1,head);
97+
head = node1;
98+
return node.data;
3299
}
33100
public Object removeLast(){
34-
return null;
101+
int size = size();
102+
return remove(size -1);
35103
}
36104
public Iterator iterator(){
37105
return null;
38106
}
39107

40-
108+
public String toString()
109+
{
110+
StringBuffer sb = new StringBuffer();
111+
112+
Node node = head;
113+
while(node.next!=null)
114+
{
115+
sb.append(node.data).append(",");
116+
node = node.next;
117+
118+
}
119+
sb.append(node.data);
120+
return sb.toString();
121+
122+
}
41123
private static class Node{
42124
Object data;
43125
Node next;
44126

127+
128+
45129
}
46130
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.coding.basic;
2+
3+
import java.util.Arrays;
4+
5+
public class Main {
6+
7+
public static void main(String[] args) {
8+
LinkedList al = new LinkedList();
9+
al.add(0);
10+
al.add(1);
11+
al.add(2);
12+
al.add(3);
13+
al.add(4);
14+
al.add(5,-1);
15+
System.out.println(al.remove(1));
16+
System.out.println(al);
17+
}
18+
19+
}

0 commit comments

Comments
 (0)