1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- public class SinglyLinkedList {
- Node head;
- private boolean isEqual(Node node, int content) {
- return node.container == content;
- }
- private Node findNode(int number) {
- Node currentNode = head;
- while (!isEqual(currentNode, number) && currentNode.next != null) {
- currentNode = currentNode.next;
- }
- if (isEqual(currentNode, number)) {
- return currentNode;
- } else {
- return null;
- }
- }
- public void append(int number) {
- Node toInsert = new Node(number);
- toInsert.next = head;
- head = toInsert;
- /*
- * schlecht: Node currentNode = head;
- *
- * while (currentNode.next != null) { currentNode = currentNode.next; }
- * currentNode.next = n;
- */
- }
- public void remove(int number) {
- Node previous = head;
- Node currentNode = head;
- while (!isEqual(currentNode, number) && currentNode.next != null) {
- previous = currentNode;
- currentNode = currentNode.next;
- }
- if (currentNode.next != null) {
- previous.next = currentNode.next;
- }
- }
- public int find(int number) {
- Node node = findNode(number);
- if (node == null) {
- return 0;
- } else {
- return node.container;
- }
- }
- public void printList() {
- Node currentNode = head;
- System.out.print("head -> ");
- while (currentNode != null) {
- System.out.print(currentNode.container + " -> ");
- currentNode = currentNode.next;
- }
- System.out.println("null");
- }
- }
|