public void Append(Student d) { Node temp = new Node(d, null); temp.link = head; head = temp; size++; }
public Node Remove() { Node temp = head; if (head != null) { head = head.link; size--; } return temp; }
// (f) public int Min() { aux = sentinel; int min = sentinel.next.value; while (aux.next != null) { if (aux.next.value < min) min = aux.next.value; else aux = aux.next; } return min; }
public void Insert(Student d, int previousKey) { Node current = Search(previousKey); if (current != null) { Node temp = new Node(d, current.link); current.link = temp; size++; } else { Console.WriteLine("Insert was not successful"); } }
public void NextToForward(int t) { if (!IsEmpty()) { aux = sentinel; while (aux.next != null) { if (aux.next.value == t) { newNode = aux.next; aux.next = newNode.next; newNode.next = sentinel.next; sentinel.next = newNode; return; } else aux = aux.next; } } }
public LinkedList() { head = null; size = 0; }
// (g) public void RemoveAt(int index) { if (!IsEmpty()) { int counter = 0; aux = sentinel; while (aux.next != null) { if (counter == index) { if (aux.next.next != null) { aux.next = aux.next.next; return; } else { aux.next = null; return; } } else { aux = aux.next; counter++; } } } }
public Node() { data = null; link = null; }
public Node(Student s, Node p) { data = s; link = p; }
// (c) public void InsertAfter(int value, int index) { if (!IsEmpty()) { int counter = 0; aux = sentinel; while (aux.next != null) { if (counter == index) { newNode = new Node(value, aux.next.next); aux.next.next = newNode; return; } else { aux = aux.next; counter++; } } } }
// (a) public void InsertAfterAll(int value) { if (!IsEmpty()) { aux = sentinel; while (aux.next != null) { aux = aux.next; if (aux.next == null) { newNode = new Node(value, null); aux.next = newNode; return; } } } }
public void Insert(int value) { aux = sentinel; newNode = new Node(value, aux.next); aux.next = newNode; }
public Node(int valueNode, Node nextNode) { value = valueNode; next = nextNode; }
public void Print() { aux = sentinel; while (aux.next != null) { Console.Write(" " + aux.next.value); aux = aux.next; } }
public SinglyLinkedList() { sentinel = new Node(); aux = new Node(); newNode = new Node(); }
// (e) public int SearchValue(int value) { aux = sentinel; while (aux.next != null) { if (aux.next.value == value) return aux.next.value; else aux = aux.next; } return -1; }
public void RemoveAllOcurrences(int value) { if (!IsEmpty()) { aux = sentinel; while (aux.next != null) { if (aux.next.value == value) { if (aux.next.next != null) aux.next = aux.next.next; else aux.next = null; } else aux = aux.next; } } }
// (d) public void RemoveOdds() { if (!IsEmpty()) { aux = sentinel; while (aux.next != null) { if (aux.next.value % 2 == 1) { if (aux.next.next != null) aux.next = aux.next.next; else aux.next = null; } else aux = aux.next; } } }
public Node() { value = 0; next = null; }
// (b) public int FindRemoveAndReturn(int value) { aux = sentinel; while (aux.next != null) { if (aux.next.value == value) { newNode = aux.next; if (aux.next.next != null) aux.next = aux.next.next; else aux.next = null; return newNode.value; } else aux = aux.next; } return -1; }