mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
Added source files (Programmieren Tutorium)
This commit is contained in:
parent
1be8f17cc0
commit
ad81fa802b
244 changed files with 8252 additions and 0 deletions
|
@ -0,0 +1,90 @@
|
|||
public class SinglyLinkedList<E> {
|
||||
private Node<E> head;
|
||||
|
||||
/**
|
||||
* Add an object to the list.
|
||||
*
|
||||
* @param object the element you want to add
|
||||
*/
|
||||
public void add(E object) {
|
||||
Node<E> newNode = new Node<E>(object);
|
||||
newNode.setNext(head);
|
||||
head = newNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if object is in is in the SinglyLinkedList
|
||||
*
|
||||
* @param object the object you want to search
|
||||
* @return the bike, if you found it, otherwise {@code null}
|
||||
*/
|
||||
public boolean contains(E object) {
|
||||
Node<E> currentNode = head;
|
||||
|
||||
while (currentNode != null && currentNode.getElement().equals(object)) {
|
||||
currentNode = currentNode.getNext();
|
||||
}
|
||||
|
||||
return currentNode != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a bike.
|
||||
*
|
||||
* @param bike the bike you want to get
|
||||
* @return
|
||||
*/
|
||||
public E get(E bike) {
|
||||
if (contains(bike)) {
|
||||
Node<E> currentNode = head;
|
||||
while (currentNode.getElement() != bike) {
|
||||
currentNode = currentNode.getNext();
|
||||
}
|
||||
return bike;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove bike from the SinglyLinkedList, if it exists.
|
||||
*
|
||||
* @param bike the bike you want to search
|
||||
* @return {@code bike} if it is in SinglyLinkedList, otherwise {@code null}
|
||||
*/
|
||||
public E remove(E bike) {
|
||||
if (!contains(bike)) {
|
||||
return null;
|
||||
} else if (head.getElement() == bike) {
|
||||
head = head.getNext();
|
||||
return bike;
|
||||
} else {
|
||||
// Knoten und Vorgängerknoten finden
|
||||
Node<E> previousNode = head;
|
||||
Node<E> currentNode = head;
|
||||
|
||||
while (currentNode.getElement() != bike) {
|
||||
previousNode = currentNode;
|
||||
currentNode = currentNode.getNext();
|
||||
}
|
||||
|
||||
// Zeiger umbiegen
|
||||
previousNode.setNext(currentNode.getNext());
|
||||
return bike;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Print all bikes in SinglyLinkedList.
|
||||
*/
|
||||
public void printBikes() {
|
||||
Node<E> currentNode = head;
|
||||
System.out.print("start -> ");
|
||||
while (currentNode != null) {
|
||||
System.out.print(currentNode);
|
||||
System.out.print(" -> ");
|
||||
currentNode = currentNode.getNext();
|
||||
}
|
||||
System.out.println("null");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue