public void AddFirst(string data) { Node tmpNode = null; if (firstNode != null) { tmpNode = firstNode; } firstNode = new Node(); firstNode.Data = data; firstNode.Previous = null; firstNode.Next = tmpNode; if (tmpNode != null) { tmpNode.Previous = firstNode; } if (length == 0) { lastNode = firstNode; } length++; }
int Pop() { if(top != null) { int item = this.top.data; top = top.next; return item; } return -1; }
public void Insert(string inputString, int insertPosition) { char[] inputArray = inputString.ToCharArray(); int total = inputArray.Count(); Node current = head; for (int index = 0; index < total; index++) { for (int count = 0; count < insertPosition; count++) { current = current.next; } Node newNode = new Node(); newNode.next = current.next; //Console.WriteLine(inputArray[index]); newNode.data = inputArray[index]; current.next = newNode; } current.data = inputArray[0]; }
public void AddLast(string data) { Node tmpNode = null; if (lastNode != null) { tmpNode = lastNode; } lastNode = new Node(); lastNode.Data = data; lastNode.Previous = tmpNode; lastNode.Next = null; if (tmpNode != null) { tmpNode.Next = lastNode; } if (length == 0) { firstNode = lastNode; } length++; }
public void Reverse() { Node current = firstNode; while (current != null) { Node temp = current.Next; current.Next = current.Previous; current.Previous = temp; current = temp; } current = lastNode; lastNode = firstNode; firstNode = current; }
public void Remove(Node node) { if (node == null) { new Exception("Node is null"); } if (node == firstNode) { firstNode = node.Next; firstNode.Previous = null; } else if (node == lastNode) { lastNode = node.Previous; lastNode.Next = null; } else { node.Previous.Next = node.Next; node.Next.Previous = node.Previous; } node = null; length--; }
public Node AddBefore(Node node, string data) { if (node == null) { new Exception("Node is null"); } Node newNode = new Node(); newNode.Data = data; newNode.Previous = node.Previous; newNode.Next = node; node.Previous.Next = newNode; node.Previous = newNode; length++; return newNode; }
void Push(int item) { Node t = new Node(item); t.next = top; top = t; }
public CustomLinkedListString(string stringInput) { head = new Node(); mainInput = stringInput; CreateList(mainInput, 0); }