public void deleteNode(int data) { Node current = head; Node previous = head; //if the first node is if (current.getData() == data) { head = current.getNext(); } else { //At end if the current data is the data we are looking for while (current.getData() != data) { previous = current; current = current.getNext(); if (current == null) { break; } else if (current.getData() == data) { previous.setNext(current.getNext()); break; } } } }
public int next() { int data = currentNode.getData(); currentNode = currentNode.getPrevious(); return(data); }
public T this[int index] { get { Node _indexNode = _tail; for (int i = 0; i < index; i++) { Node.NextNode(ref _indexNode); } return(_indexNode.getData()); } }
public void printData() { int i = 1; Node current = head; while (current != null) { System.Console.WriteLine("Node" + i + ":" + current.getData()); current = current.getNext(); i++; } }
/** * * @param index 0-index * @return data in index */ public int get(int index) { Node currentNode = head; int currentIndex = 0; while (currentNode != null && currentIndex < index) { currentNode = currentNode.getNext(); currentIndex++; } return(currentNode.getData()); }
public T[] ToArray() { T[] tArray = new T[Count]; Node <T> current = Head; for (int i = 0; i < Count; i++) { tArray[i] = current.getData(); current = current.getChild(); } return(tArray); }
public bool Contains(T data) { Node <T> current = Head; while (current != null) { if (!current.getData().Equals(data)) { current = current.getChild(); } else { return(true); } } return(false); }
public T GetFirst() { return(Head.getData()); }