Publicado por: fatecti | Setembro 28, 2007

Código 2 Trabalho Pratico Estrutura de Dados

Depois de muita pesquisa, descobri o site OFICIAL e LIVRE.

http://wps.prenhall.com/wps/media/objects/2238/2292414/ch17.zip

Tem vários códigos que o professor irar utilizar.

Arquivo: List.java
class ListNode{

//package access membres; List can access these directly
Object data;
ListNode nextNode;

//construtor creates a ListNode that refes to object
ListNode(Object object)
{
this(object, null);
}//end ListNode one-argument constructor

//constructor creates ListNode that refers to
//Object and to nest ListNode
ListNode(Object object, ListNode node)
{
data=object;
nextNode=node;
}//end ListNode two-arguments constructor

//return reference to data in node
Object getObject()
{
return data; // return Object in this node
} //end method getObject

//return reference to next noce in list
ListNode getNext()
{
return nextNode; // get next node
} // end method getNext
} // end class ListNode
//class List definition
public class List
{
private ListNode firstNode;
private ListNode lastNode;
private String name; //string like “list” used In printing

// constructor creats empty List with “list” as the name
public List()
{
this(“list”);
}
// end List no-argument constructor
// construtor creates an empty List with a name
public List(String listName)
{
name = listName;
firstNode = lastNode = null;
} // end List one-argument constructor

// insert Object at front of List
public void insertAtFront(Object insertItem)
{
if(isEmpty()) // firstNode and lasNode refer to same object
firstNode = lastNode = new ListNode(insertItem);
else // firstNode refers to new node
firstNode = new ListNode(insertItem, firstNode);
} // end method insertAtFront

// insert Object at end of List
public void insertAtBack(Object insertItem)
{
if(isEmpty()) // firstNode and lastNode refer to same Object
firstNode = lastNode = new ListNode(insertItem);
else // lastNode’s nextNode refers to new mode
lastNode = lastNode.nextNode = new ListNode(insertItem);
} // end method insertAtBack

// remove first node from list
public Object removeFromFront() throws EmptyListException
{
if(isEmpty()) // throw exception if List is empty
throw new EmptyListException(name);

Object removedItem = firstNode.data; // retrieve data begin removed

// update references firstNode and lastNode
if(firstNode==lastNode)
firstNode = lastNode = null;
else
firstNode = firstNode.nextNode;

return removedItem; // return removed node data
} // end method removeFromFront

// remove last node from list
public Object removeFromBack() throws EmptyListException
{
if(isEmpty()) //throw exception if List is empty
throw new EmptyListException(name);

Object removedItem = lastNode.data; // retrieve data being removed

//update references firstNode an lastNode
if(firstNode == lastNode)
firstNode = lastNode = null;
else // locate new last node
{
ListNode current = firstNode;

while (current.nextNode !=lastNode)
current=current.nextNode;

lastNode =current;
current.nextNode =null;
}

return removedItem;
}

public boolean isEmpty()
{
return firstNode==null;
}

public void print()
{
if (isEmpty())
{
System.out.printf(“Empty %s\n is:”,name);
return;
}

System.out.printf( “The %s is:”,name);
ListNode current=firstNode;

while(current!=null)
{
System.out.printf(“%s”, current.data);
current=current.nextNode;
}

System.out.println(“\n”);
}
}


Arquivo: EmptyListException.javapublic class EmptyListException extends RuntimeException
{
public EmptyListException()
{
this(“List”);
}

public EmptyListException (String name)
{
super(name+”is empty”);
}
}


Arquivo: ListTest.javapublic class ListTest
{
public static void main(String args[])
{
List list=new List(); // create the List container

//insert integers in list
list.insertAtFront(-1);
list.print();
list.insertAtFront(0);
list.print();
list.insertAtBack(1);
list.print();
list.insertAtBack(5);
list.print();

//remove objects from list;print after each removal
try
{
Object removedObject=list.removeFromFront();
System.out.printf(“% removed\n”,removedObject);
list.print();

removedObject=list.removeFromFront();
System.out.printf(“% removed\n”,removedObject);
list.print();

removedObject=list.removeFromBack();
System.out.printf(“% removed\n”,removedObject);
list.print();

removedObject=list.removeFromBack();
System.out.printf(“% removed\n”,removedObject);
list.print();
}// endtry
catch(EmptyListException emptyListException)
{
emptyListException.printStackTrace();
}//end catch
}//end main
}//end class ListTest



Deixe uma resposta

Sua resposta:

Categorias