projects
/
IRC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
having a new check that verifies the single reference constraint: only allows a singl...
[IRC.git]
/
Robust
/
src
/
ClassLibrary
/
LinkedList.java
diff --git
a/Robust/src/ClassLibrary/LinkedList.java
b/Robust/src/ClassLibrary/LinkedList.java
index 98701fba4a47145d36fbdd734e5b474e7a391b03..2923f400b6d1060949f5d72e3b4638f5dfd304ca 100644
(file)
--- a/
Robust/src/ClassLibrary/LinkedList.java
+++ b/
Robust/src/ClassLibrary/LinkedList.java
@@
-3,9
+3,9
@@
public class LinkedListElement {
public LinkedListElement prev;
public Object element;
public LinkedListElement prev;
public Object element;
- public LinkedListElement(
Object e,
- LinkedListElement n,
- LinkedListElement p
) {
+ public LinkedListElement(Object e,
+ LinkedListElement n,
+ LinkedListElement p) {
element = e;
next = n;
prev = p;
element = e;
next = n;
prev = p;
@@
-21,32
+21,32
@@
public class LinkedList {
clear();
}
clear();
}
- public add(
Object o
) {
+ public add(
Object o
) {
if( tail == null ) {
if( tail == null ) {
- head = new LinkedListElement(
o, null, null
);
+ head = new LinkedListElement(
o, null, null
);
tail = head;
} else {
tail = head;
} else {
- tail.next = new LinkedListElement(
o, null, tail
);
+ tail.next = new LinkedListElement(
o, null, tail
);
tail = tail.next;
}
size++;
}
tail = tail.next;
}
size++;
}
- public addFirst(
Object o
) {
+ public addFirst(
Object o
) {
if( head == null ) {
if( head == null ) {
- head = new LinkedListElement(
o, null, null
);
+ head = new LinkedListElement(
o, null, null
);
tail = head;
} else {
tail = head;
} else {
- head.prev = new LinkedListElement(
o, head, null
);
+ head.prev = new LinkedListElement(
o, head, null
);
head = head.prev;
}
size++;
}
head = head.prev;
}
size++;
}
- public addLast(
Object o
) {
- add(
o
);
+ public addLast(
Object o
) {
+ add(
o
);
}
public clear() {
}
public clear() {
@@
-64,17
+64,27
@@
public class LinkedList {
}
public Object clone() {
}
public Object clone() {
- System.out.println(
"LinkedList.clone() not implemented."
);
+ System.out.println(
"LinkedList.clone() not implemented."
);
System.exit(-1);
}
System.exit(-1);
}
- public boolean contains(
Object o
) {
+ public boolean contains(
Object o
) {
LinkedListElement e = head;
LinkedListElement e = head;
- while( e != null ) {
- if( e.element == o ) {
- return true;
+ if (o==null) {
+ while(e!=null) {
+ if (e.element==null) {
+ return true;
+ }
+ e=e.next;
+ }
+ return false;
+ } else {
+ while( e != null ) {
+ if (o.equals(e.element)) {
+ return true;
+ }
+ e = e.next;
}
}
- e = e.next;
}
return false;
}
}
return false;
}
@@
-90,7
+100,7
@@
public class LinkedList {
if( tail == null ) {
return null;
}
if( tail == null ) {
return null;
}
- return tail.element;
+ return tail.element;
}
public Object element() {
}
public Object element() {
@@
-111,7
+121,7
@@
public class LinkedList {
public Object removeFirst() {
if( head == null ) {
public Object removeFirst() {
if( head == null ) {
- System.out.println(
"LinkedList: illegal removeFirst()"
);
+ System.out.println(
"LinkedList: illegal removeFirst()"
);
System.exit(-1);
}
Object o = head.element;
System.exit(-1);
}
Object o = head.element;
@@
-127,7
+137,7
@@
public class LinkedList {
public Object removeLast() {
if( tail == null ) {
public Object removeLast() {
if( tail == null ) {
- System.out.println(
"LinkedList: illegal removeLast()"
);
+ System.out.println(
"LinkedList: illegal removeLast()"
);
System.exit(-1);
}
Object o = tail.element;
System.exit(-1);
}
Object o = tail.element;
@@
-141,27
+151,29
@@
public class LinkedList {
return o;
}
return o;
}
- public
void remove( Object o
) {
+ public
boolean remove(Object o
) {
if( head == null ) {
if( head == null ) {
- System.out.println( "LinkedList: illegal remove( Object o )" );
- System.exit(-1);
+// System.out.println("LinkedList: illegal remove( Object o )");
+// System.exit(-1);
+ return false;
}
LinkedListElement e = head;
}
LinkedListElement e = head;
- while
( e != null
) {
- if
( e.element == o
) {
-
if( e.prev != null
) {
- e.prev.next = e.next;
- }
-
if( e.next != null
) {
- e.next.prev = e.prev;
- }
- size--;
-
return
;
+ while
(e != null
) {
+ if
(e.element == o
) {
+
if (e.prev != null
) {
+
e.prev.next = e.next;
+
}
+
if (e.next != null
) {
+
e.next.prev = e.prev;
+
}
+
size--;
+
return true
;
}
e = e.next;
}
}
e = e.next;
}
- System.out.println( "LinkedList: illegal remove( Object o ), "+o+" not found" );
- System.exit(-1);
+// System.out.println("LinkedList: illegal remove( Object o ), "+o+" not found");
+// System.exit(-1);
+ return false;
}
public Object pop() {
}
public Object pop() {
@@
-170,12
+182,12
@@
public class LinkedList {
return o;
}
return o;
}
- public void push(
Object o
) {
- addFirst(
o
);
+ public void push(
Object o
) {
+ addFirst(
o
);
}
public Iterator iterator() {
}
public Iterator iterator() {
- return new LinkedListIterator(
this
);
+ return new LinkedListIterator(
this
);
}
}
}
}
@@
-183,8
+195,8
@@
public class LinkedListIterator extends Iterator {
LinkedList ll;
LinkedListElement itr;
Object removeable;
LinkedList ll;
LinkedListElement itr;
Object removeable;
-
- public LinkedListIterator(
LinkedList ll
) {
+
+ public LinkedListIterator(
LinkedList ll
) {
this.ll = ll;
itr = ll.head;
removeable = null;
this.ll = ll;
itr = ll.head;
removeable = null;
@@
-196,7
+208,7
@@
public class LinkedListIterator extends Iterator {
public Object next() {
if( itr == null ) {
public Object next() {
if( itr == null ) {
- System.out.println(
"LinkedListIterator: illegal next()"
);
+ System.out.println(
"LinkedListIterator: illegal next()"
);
System.exit(-1);
}
removeable = itr.element;
System.exit(-1);
}
removeable = itr.element;
@@
-206,10
+218,10
@@
public class LinkedListIterator extends Iterator {
public void remove() {
if( removeable == null ) {
public void remove() {
if( removeable == null ) {
- System.out.println(
"LinkedListIterator: illegal remove()"
);
+ System.out.println(
"LinkedListIterator: illegal remove()"
);
System.exit(-1);
}
System.exit(-1);
}
- ll.remove(
removeable
);
+ ll.remove(
removeable
);
removeable = null;
}
}
removeable = null;
}
}