void DoubleNodeQueue_InsertInHead() { Queue_2Node <int> queue2node = new Queue_2Node <int>(); int[] nums = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; for (int i = 0; i < nums.Length; i++) { queue2node.Enqueue(nums[i]); } int index = 0; foreach (int T in queue2node) { print("queue2node[ " + index + "]:" + T); index++; } print("在首结点插入元素:-1"); queue2node.InsertInHead(-1); int index2 = 0; foreach (int T in queue2node) { print("queue2node[ " + index2 + "]:" + T); index2++; } }
void DoubleNodeQueueTest() { Queue_2Node <int> queue2node = new Queue_2Node <int>(); int[] nums = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; for (int i = 0; i < nums.Length; i++) { queue2node.Enqueue(nums[i]); } int index = 0; string str = null; foreach (int T in queue2node) { str += "[ " + index + "]:" + T + "\t"; index++; } print(str); print("在首结点插入元素-1"); queue2node.InsertInHead(-1); Node <int> current = queue2node.first.next; print(current.prior.item); print(current.item); print(current.next.item); }
public static Node <Item> Reverse(ref Queue_2Node <Item> queue) { Stack <Item> stack = new Stack <Item>(); Node <Item> current = queue.first; while (current != null) { stack.push(current.item); current = current.next; } Queue_2Node <Item> newQueue = new Queue_2Node <Item>(); Node <Item> stackCurrentNode = stack.first; while (stackCurrentNode != null) { newQueue.Enqueue(stackCurrentNode.item); stackCurrentNode = stackCurrentNode.next; } queue = newQueue; return(queue.first); }
void QueueCopy() { Queue_2Node <int> queue2node = new Queue_2Node <int>(); int[] nums = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; for (int i = 0; i < nums.Length; i++) { queue2node.Enqueue(nums[i]); } int index = 0; string str = null; foreach (int T in queue2node) { str += "[ " + index + "]:" + T + "\t"; index++; } print(str); print("复制队列副本..."); Queue_2Node <int> queueCopy = new Queue_2Node <int>(queue2node); print(" queue2node.addFirst(-1);"); queue2node.addFirst(-1); int index2 = 0; string str2 = null; foreach (int T in queueCopy) { str2 += "[ " + index2 + "]:" + T + "\t"; index2++; } print("Show 副本:" + str2); }