Thread: ...
View Single Post
Old 05-08-2008   #8 (permalink)
Chibi Mystic Gohan
(26) Great Elder of Namek
 
Chibi Mystic Gohan's Avatar
 
Join Date: Sep 2004
Location: Surrounded by dickgirls
Posts: 5,315
Rep Power: 126
Chibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond reputeChibi Mystic Gohan has a reputation beyond repute
Default Re: ...

Quote:
Originally Posted by Masked_Felix View Post
If you take Computer Science.

// ************************************************** **
// Reference-based implementation of ADT list.
// ************************************************** **
public class ListReferenceBased implements ListInterface {
// reference to linked list of items
private Node head;
private int numItems; // number of items in list

public ListReferenceBased() {
numItems = 0;
head = null;
} // end default constructor

public boolean isEmpty() {
return numItems == 0;
} // end isEmpty

public int size() {
return numItems;
} // end size

private Node find(int index) {
// --------------------------------------------------
// Locates a specified node in a linked list.
// Precondition: index is the number of the desired
// node. Assumes that 1 <= index <= numItems+1
// Postcondition: Returns a reference to the desired
// node.
// --------------------------------------------------
Node curr = head;
for (int skip = 1; skip < index; skip++) {
curr = curr.getNext();
} // end for
return curr;
} // end find

public Object get(int index)
throws ListIndexOutOfBoundsException {
if (index >= 1 && index <= numItems) {
// get reference to node, then data in node
Node curr = find(index);
Object dataItem = curr.getItem();
return dataItem;
}
else {
throw new ListIndexOutOfBoundsException(
"List index out of bounds exception on get");
} // end if
} // end get

public void add(int index, Object item)
throws ListIndexOutOfBoundsException {
if (index >= 1 && index <= numItems+1) {
if (index == 1) {
// insert the new node containing item at
// beginning of list
Node newNode = new Node(item, head);
head = newNode;
}
else {
Node prev = find(index-1);
// insert the new node containing item after
// the node that prev references
Node newNode = new Node(item, prev.getNext());
prev.setNext(newNode);
} // end if
numItems++;
}
else {
throw new ListIndexOutOfBoundsException(
"List index out of bounds exception on add");
} // end if
} // end add

public void remove(int index)
throws ListIndexOutOfBoundsException {
if (index >= 1 && index <= numItems) {
if (index == 1) {
// delete the first node from the list
head = head.getNext();
}
else {
Node prev = find(index-1);
// delete the node after the node that prev
// references, save reference to node
Node curr = prev.getNext();
prev.setNext(curr.getNext());
} // end if
numItems--;
} // end if
else {
throw new ListIndexOutOfBoundsException(
"List index out of bounds exception on remove");
} // end if
} // end remove

public void removeAll() {
// setting head to null causes list to be
// unreachable and thus marked for garbage
// collection
head = null;
numItems = 0;
} // end removeAll
} // end ListReferenceBased
You... double ******.
__________________


"Words don't exist so that we can tell the truth; they exist so that we can conceal the truth"
- ZOMBIEPOWDER. Volume 02
Chibi Mystic Gohan is offline   Reply With Quote