CSE143X Sample Program handout #13
ListNode Class
--------------
// ListNode is a class for storing a single node of a linked list storing
// integer values. It has two public data fields for the data and the link to
// the next node in the list and has three constructors.
public class ListNode {
public int data; // data stored in this node
public ListNode next; // link to next node in the list
// post: constructs a node with data 0 and null link
public ListNode() {
this(0, null);
}
// post: constructs a node with given data and null link
public ListNode(int data) {
this(data, null);
}
// post: constructs a node with given data and given link
public ListNode(int data, ListNode next) {
this.data = data;
this.next = next;
}
}
LinkedIntList Class
-------------------
public class LinkedIntList {
private ListNode front;
}
We could define the following method for the LinkedIntList class:
// post: appends the given value to the end of the list
public void add(int value) {
if (front == null)
front = new ListNode(value);
else {
ListNode current = front;
while (current.next != null)
current = current.next;
current.next = new ListNode(value);
}
}
Second version of sample code
-----------------------------
public class ListTest2 {
public static void main(String[] args) {
ListNode list = new ListNode(3, new ListNode(7, new ListNode(12)));
System.out.println(list.data + " " + list.next.data + " "
+ list.next.next.data);
}
}