In this commit I have:

Added JavaDoc to every package except for "heaps"
This commit is contained in:
zacharyjones123
2017-04-18 07:57:17 -07:00
parent 94871b7e6a
commit 9411d5be56
29 changed files with 1406 additions and 425 deletions

View File

@@ -1,58 +1,78 @@
/*
* A linked list is similar to an array, it holds values. However, links in a linked list do not have indexes.
* With a linked list you do not need to predetermine it's size as it grows and shrinks as it is edited.
* This is an example of a singly linked list. Elements can only be added/removed at the head/front of the list.
*/
class LinkedList{
private Link head; //Head refers to the front of the list
/**
* This class implements a SinglyLinked List. This is done
* using SinglyLinkedList class and a LinkForLinkedList Class.
*
* A linked list is implar to an array, it hold values.
* However, links in a linked list do not have indexes. With
* a linked list you do not need to predetermine it's size as
* it gorws and shrinks as it is edited. This is an example of
* a singly linked list. Elements can only be added/removed
* at the head/front of the list.
*
* @author Unknown
*
*/
class SinglyLinkedList{
/**Head refered to the front of the list */
private LinkForLinkedList head;
public LinkedList(){
/**
* Constructor of SinglyLinkedList
*/
public SinglyLinkedList(){
head = null;
}
public void insertHead(int x){ //Insert an element at the head
Link newLink = new Link(x); //Create a new link with a value attached to it
/**
* This method inserts an element at the head
*
* @param x Element to be added
*/
public void insertHead(int x){
LinkForLinkedList newLink = new LinkForLinkedList(x); //Create a new link with a value attached to it
newLink.next = head; //Set the new link to point to the current head
head = newLink; //Now set the new link to be the head
}
public Link deleteHead(){ //Delete the element at the head
Link temp = head;
/**
* This method deletes an element at the head
*
* @return The element deleted
*/
public LinkForLinkedList deleteHead(){
LinkForLinkedList temp = head;
head = head.next; //Make the second element in the list the new head, the Java garbage collector will later remove the old head
return temp;
}
public boolean isEmpty(){ //Returns true if list is empty
/**
* Checks if the list is empty
*
* @return true is list is empty
*/
public boolean isEmpty(){
return(head == null);
}
public void display(){ //Prints contents of the list
Link current = head;
/**
* Prints contents of the list
*/
public void display(){
LinkForLinkedList current = head;
while(current!=null){
current.displayLink();
current = current.next;
}
System.out.println();
}
}
class Link{
public int value;
public Link next; //This is what the link will point to
public Link(int valuein){
value = valuein;
}
public void displayLink(){
System.out.print(value+" ");
}
}
//Example
public class SinglyLinkedList{
/**
* Main method
*
* @param args Command line arguments
*/
public static void main(String args[]){
LinkedList myList = new LinkedList();
SinglyLinkedList myList = new SinglyLinkedList();
System.out.println(myList.isEmpty()); //Will print true
@@ -66,4 +86,36 @@ public class SinglyLinkedList{
myList.display(); // 7(head) --> 5
}
}
/**
* This class is the nodes of the SinglyLinked List.
* They consist of a vlue and a pointer to the node
* after them.
*
* @author Unknown
*
*/
class LinkForLinkedList{
/** The value of the node */
public int value;
/** Point to the next node */
public LinkForLinkedList next; //This is what the link will point to
/**
* Constructor
*
* @param valuein Value to be put in the node
*/
public LinkForLinkedList(int valuein){
value = valuein;
}
/**
* Prints out the value of the node
*/
public void displayLink(){
System.out.print(value+" ");
}
}