static void Main(string[] args) { MyQueue <int> myQueue = new MyQueue <int>(); myQueue.Enqueue(1); myQueue.Enqueue(3); myQueue.Enqueue(4); myQueue.Enqueue(5); myQueue.Enqueue(6); myQueue.Enqueue(7); myQueue.Enqueue(8); Console.WriteLine("Queue - {0}", myQueue.ToString()); Console.WriteLine("Operation Dequeue - {0}", myQueue.Dequeue()); Console.WriteLine("Operation Peek - {0}", myQueue.Peek()); Console.WriteLine("Queue - {0}", myQueue.ToString()); Console.WriteLine("Count - {0}", myQueue.Count()); }
public void TestReadWriteLock() { try { Stopwatch stop = new Stopwatch(); stop.Start(); List <string> list = new List <string>(100); for (int i = 0; i < list.Capacity; i++) { list.Add("字符串:" + i); } MyQueue mq = new MyQueue(list); string last = list[list.Count - 1]; for (int i = 0; i < list.Capacity; i++) { ThreadPool.QueueUserWorkItem(o => { mq.LootFirst(); //Console.WriteLine(mq.LootFirst()); }); } while (mq.Count > 0) { ThreadPool.QueueUserWorkItem(o => { foreach (var item in mq) { if (item == last) { Console.WriteLine("最后的值还在"); } } }); } stop.Stop(); Console.WriteLine("花费的时间:" + stop.ElapsedMilliseconds); } catch (Exception ex) { } }
static void Main(string[] args) { Queue <int> queue = new Queue <int>(); queue.Enqueue(5); queue.Enqueue(6); queue.Enqueue(7); queue.Enqueue(8); Console.WriteLine(queue.Peek()); Console.WriteLine("---------------"); MyQueue <int> myQueue = new MyQueue <int>(); myQueue.Enqueue(5); myQueue.Enqueue(6); myQueue.Enqueue(7); myQueue.Enqueue(8); Console.WriteLine(myQueue.Peek()); }
static void Part4() { MyQueue <Transport> list = new MyQueue <Transport>(); bool flag = true; while (flag) { Console.Write(MenuQueue); int ch = Input.IntCheckConsole(); try { switch (ch) { case 1: #region Console.Write("Введите размер нового списка: "); int size = Input.IntCheckConsole(); Transport[] arr = new Transport[size]; for (int i = 0; i < size; i++) { if (i % 4 == 0) { arr[i] = (new Transport(rand.Next(1, 800), rand.Next(1, 1000))); } else if (i % 3 == 0) { arr[i] = (new Avtomobile(MasName[rand.Next(0, 4)], rand.Next(1, 300), rand.Next(1, 10))); } else if (i % 2 == 0) { arr[i] = (new Rain(rand.Next(1, 100), rand.Next(1, 400), rand.Next(1, 1000))); } else { arr[i] = (new Express(MasNameOfExpress[rand.Next(0, 4)], rand.Next(1, 100), rand.Next(1, 800), rand.Next(1, 1000))); } } list = new MyQueue <Transport>(arr); #endregion break; case 2: #region Console.Write("Введите номер нового элемента: "); int pos = Input.IntCheckConsole(); Transport k = new Transport(rand.Next(1, 800), rand.Next(1, 1000)); list.Insert(pos - 1, k); #endregion break; case 3: #region Console.Write("Введите номер элемента, который вы хотите удалить: "); pos = Input.IntCheckConsole(); list.RemoveAt(pos - 1); #endregion break; case 4: foreach (var it in list) { PrintColor(it, ConsoleColor.DarkYellow); } break; case 5: PrintColor("Введите индекс элемента, который хотите вывести:", ConsoleColor.Blue); size = Input.IntCheckConsole(); PrintColor(list[size - 1], ConsoleColor.DarkYellow); break; case 6: #region PrintColor("Введите элемент для поиска", ConsoleColor.Blue); PrintColor("Введите скорость:", ConsoleColor.Blue); int c = Input.IntCheckConsole(); PrintColor("Введите количество человек: ", ConsoleColor.Blue); int s = Input.IntCheckConsole(); k = new Transport(c, s); PrintColor("Существование данного элемента: ", ConsoleColor.Blue); PrintColor(list.Contains(k), ConsoleColor.Yellow); PrintColor("Его первое вхождение: ", ConsoleColor.Blue); PrintColor(list.IndexOf(k) + " - начиная с нуля.", ConsoleColor.Green); #endregion break; case 7: flag = !flag; break; default: #region PrintColor("Неопрознанное значение!", ConsoleColor.Red); #endregion break; } } catch (Exception e) { PrintColor(e.Message, ConsoleColor.Red); } } }