Please take time to read the code disclaimer.

<--Go back to Kent's Projects

<--Go back to project post

/******************************************************************************
 *	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;
	}
}