Skip to content

Commit d4aad3d

Browse files
committed
add to list files
1 parent 0a04395 commit d4aad3d

File tree

2 files changed

+209
-0
lines changed

2 files changed

+209
-0
lines changed

group12/247565311/week1/Link.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package week1;
2+
3+
public class Link {
4+
5+
}
Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
package week1;
2+
3+
import java.util.Collection;
4+
import java.util.Iterator;
5+
import java.util.List;
6+
import java.util.ListIterator;
7+
8+
public class LinkedList<E> implements List<E> {
9+
private Node head = null;
10+
private Node tail = null;
11+
private int size = 0;
12+
13+
public LinkedList(){
14+
head = new Node(null);
15+
tail = new Node(null);
16+
head.next = tail;
17+
tail.ahead = head;
18+
size = 0;
19+
}
20+
public LinkedList(int arg0){
21+
head = new Node(null);
22+
tail = new Node(null);
23+
head.next = tail;
24+
tail.ahead = head;
25+
size = 0;
26+
}
27+
@Override
28+
public boolean add(E arg0) {
29+
Node n = new Node(arg0);
30+
n.next = tail;
31+
n.ahead = tail.ahead;
32+
tail.ahead.next = n;
33+
tail.ahead = n;
34+
size += 1;
35+
return true;
36+
}
37+
38+
@Override
39+
public void add(int arg0, E arg1) {
40+
if(arg0<0) arg0=0;
41+
Node n=new Node(arg1),p=head;
42+
for(int i=0;i<arg0;i++){
43+
p = p.next;
44+
}
45+
n.next = p.next;
46+
n.ahead = p;
47+
p.next.ahead = n;
48+
p.next = n;
49+
size += 1;
50+
}
51+
52+
@Override
53+
public boolean addAll(Collection<? extends E> arg0) {
54+
for(E o:arg0){
55+
this.add(o);
56+
}
57+
return true;
58+
}
59+
60+
@Override
61+
public boolean addAll(int arg0, Collection<? extends E> arg1) {
62+
for(E e:arg1){
63+
this.add(arg0,e);
64+
arg0+=1;
65+
}
66+
return true;
67+
}
68+
69+
@Override
70+
public void clear() {
71+
head = new Node(null);
72+
tail = new Node(null);
73+
head.next = tail;
74+
tail.ahead = head;
75+
size = 0;
76+
}
77+
78+
@Override
79+
public boolean contains(Object arg0) {
80+
boolean flag = arg0==null;
81+
Node n = head;
82+
for(int i=0;i<size;i++){
83+
n = n.next;
84+
if(flag){
85+
if( n.val == null) return true;
86+
}else{
87+
if(arg0.equals(n.val)) return true;
88+
}
89+
}
90+
return false;
91+
}
92+
93+
@Override
94+
public boolean containsAll(Collection<?> arg0) {
95+
for(Object e:arg0){
96+
if(!this.contains(e)) return false;
97+
}
98+
return true;
99+
}
100+
101+
@Override
102+
public E get(int arg0) {
103+
E res = null;
104+
if(arg0>-1 && arg0 < size){
105+
106+
}
107+
return res;
108+
}
109+
110+
@Override
111+
public int indexOf(Object arg0) {
112+
113+
return 0;
114+
}
115+
116+
@Override
117+
public boolean isEmpty() {
118+
119+
return false;
120+
}
121+
122+
@Override
123+
public Iterator<E> iterator() {
124+
125+
return null;
126+
}
127+
128+
@Override
129+
public int lastIndexOf(Object arg0) {
130+
131+
return 0;
132+
}
133+
134+
@Override
135+
public ListIterator<E> listIterator() {
136+
137+
return null;
138+
}
139+
140+
@Override
141+
public ListIterator<E> listIterator(int arg0) {
142+
143+
return null;
144+
}
145+
146+
@Override
147+
public boolean remove(Object arg0) {
148+
149+
return false;
150+
}
151+
152+
@Override
153+
public E remove(int arg0) {
154+
155+
return null;
156+
}
157+
158+
@Override
159+
public boolean removeAll(Collection<?> arg0) {
160+
161+
return false;
162+
}
163+
164+
@Override
165+
public boolean retainAll(Collection<?> arg0) {
166+
167+
return false;
168+
}
169+
170+
@Override
171+
public E set(int arg0, E arg1) {
172+
173+
return null;
174+
}
175+
176+
@Override
177+
public int size() {
178+
179+
return 0;
180+
}
181+
182+
@Override
183+
public List<E> subList(int arg0, int arg1) {
184+
185+
return null;
186+
}
187+
188+
@Override
189+
public Object[] toArray() {
190+
191+
return null;
192+
}
193+
194+
@Override
195+
public <T> T[] toArray(T[] arg0) {
196+
197+
return null;
198+
}
199+
private static class Node{
200+
Object val = null;
201+
Node next = null,ahead=null;
202+
public Node(Object arg0){val = arg0;}
203+
}
204+
}

0 commit comments

Comments
 (0)