Intermediate Programming Instructor: Greg Shaw
Computer Programming II Instructor: Greg Shaw
COP 3337
List Primitives
Assume that a Node class is defined as follows, as an inner class in a class that implements a generic linked list. E.g.
public class myLinkedList
.
.
.
class Node // students: note “friendy” access
{
// instance var’s
private E info ; // each Node object contains an object of the “type variable” class...
private Node next ; // ...and a reference (i.e., a "pointer") to another Node
// Constructor
Node (E x)
{
info = x ; // initialize "info" member to parameter passed…
next = null ; // …and next portion to null
}
}
Here are the primitive (i.e., most basic) operations on a linked list of such nodes:
// -----------------------------------------------------------------------------------------------------------------------------
boolean isEmpty (Node head)
{
// precondition: head contains a pointer ("reference") to the first node of a list
// postcondition: returns true if the list is empty (i.e., if head is null) ; else, returns false
return head == null ;
}
// -----------------------------------------------------------------------------------------------------------------------------
void insertAfter (Node p, E x)
{
// precondition: p points to a node of a linked list
// postcondition: a new node (with info = x) has been inserted into the list, just
// after the node pointed to by p.
Node temp = new Node(x) ; // create new node pointed to by “temp.” with "x" in “info” portion
temp.next = p.next ; // make its "next" pointer point to the node following p…
p.next = temp ; // …and make p’s "next" pointer point to it!
}
// -----------------------------------------------------------------------------------------------------------------------------
E deleteAfter (Node p)
{
// preconditions: 1. p points to a node of a linked list
// 2. that node is NOT the last node of the list (i.e., p.next != null )
// postconditions: 1. the node immediately after the one pointed to by p is removed from the list
// 2. the object in its info portion is returned
Node temp = p.next ; // get pointer to node to be removed
E save = ; // save object that's in its info portion
p.next = temp.next ; // cut node out of the list
return save ; // return saved object
}
// -----------------------------------------------------------------------------------------------------------------------------
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- mcgraw hill instructor log in
- shaw direct channels ontario
- bill shaw gold royalties
- shaw innovation
- shaw router settings
- shaw and mckay s theory
- shaw and mckay juvenile delinquency
- shaw and mckay s social disorganization
- concentric zones shaw and mckay
- shaw and mckay study
- shaw and mckay social disorganization
- clifford shaw and henry mckay