Please take time to read the code disclaimer.
/******************************************************************************
* Author: Kent Dodds Date Created:11/8/07
* shirtList.java
* Purpose: where Shirt List methods are
******************************************************************************/
public class shirtList
{
//variable Declaration
private shirtNode firstNode;
private shirtNode lastNode;
private shirtNode reference;
public shirtList()
{
firstNode = null;
lastNode = null;
reference = null;
}
//add a shirt to the Shirt List
public void addShirt(int kind)
{
shirtNode node = new shirtNode(kind);
if(firstNode==null)
{
firstNode = node;
lastNode = node;
}
else
{
lastNode.next = node;
node.prev = lastNode;
lastNode = node;
}
}
//remove a shirt from the Shirt List
public shirtNode removeShirt()
{
shirtNode removed = null;
if(firstNode==null)
{
}
else if(lastNode.prev==null)
{
}
else
{
removed = lastNode;
reference = lastNode.prev;
lastNode.prev.next=null;
lastNode.prev=null;
lastNode = reference;
}
return removed;
}
public shirtNode getLast()
{
return lastNode;
}
public shirtNode findShirtAndRemove(int user)
{
int count=0;
reference=firstNode;
while(count!=user)
{
reference=reference.next;
count++;
}
if(firstNode==null)
{
reference.next=firstNode;
firstNode.prev=null;
}
else if(lastNode.prev==null)
{
reference.prev=lastNode;
lastNode.next=null;
}
else
{
reference.prev.next=reference.next;
reference.next.prev=reference.prev;
reference.prev=null;
reference.next=null;
}
return reference;
}
public shirtNode findShirt(int user)
{
int count=0;
reference=firstNode;
while(count!=user)
{
reference=reference.next;
count++;
}
return reference;
}
}