Напишите программу, реализующую работу очереди. Напишите функции для добавления/удаления элемента в очередь - C#
Формулировка задачи:
Помогите пожалуйста написать программу. Готовый Queue не нужен( Нужно изобрести велосипед заново.
Задание:
Напишите программу, реализующую работу очереди. Напишите функции для добавления/удаления элемента в очередь, проверки пустоты очереди, подсчета числа элементов в очереди, очистки очереди, печати элементов очереди.
Продемонстрируйте работу функции в программе.
Есть пример но только для стека и не полный
Заранее большое спасибо.
int kol = 0; stec first = new stec(); stec tmp = first; first.val = 1; for (int i = 2; i < 16; i++) { stec newEL = new stec(); newEL.val = i; newEL.prev = tmp; tmp = newEL; } stec last = tmp; // Печать стека Console.WriteLine("печать стека"); stec a = last; do { Console.WriteLine(last.val); last = last.prev; kol = kol + 1; } while (last != null); last = a;
Решение задачи: «Напишите программу, реализующую работу очереди. Напишите функции для добавления/удаления элемента в очередь»
textual
Листинг программы
using System; using System.Text; namespace Queue { class Program { static void Main(string[] args) { Queue queue = new Queue(); Console.WriteLine("Пример работы с очередью"); bool isExit = true; string temp; while (isExit) { Console.WriteLine("Операции с очередью:"); Console.WriteLine("1 - Добавить"); Console.WriteLine("2 - Удалить"); Console.WriteLine("3 - Показать"); Console.WriteLine("4 - Очистить"); Console.WriteLine("5 - Выход"); temp = Console.ReadLine(); switch (temp) { case "1": { Console.WriteLine("Введите значение:"); queue.Add(Console.ReadLine()); } break; case "2": { queue.Delete(); } break; case "3": { queue.Show(); } break; case "4": { queue.Clear(); } break; case "5": { isExit = false; } break; } } } } class Queue { private Element First { get; set; } private Element Last { get; set; } public int Count { get; private set; } public Queue() { First = Last = null; Count = 0; } public bool Add(object obj) { if (First == null) { First = new Element(obj, null); Last = First; } Element temp = new Element(obj, null); Last.NextObject = temp; Last = temp; Count++; return true; } public bool Delete() { if (First == null) return false; Element temp = First.NextObject; First = temp; Count--; return true; } public bool Clear() { First = null; Count = 0; return true; } public void Show() { if (Count == 0) { Console.WriteLine("Очередь пустая"); return; } Console.WriteLine("Кол-во элементов: {0}", Count); Element temp = First; for (int i = 0; i < Count; i++) { Console.WriteLine(temp.Value.ToString()); temp = temp.NextObject; } } } class Element { public object Value { get; set; } public Element NextObject { get; set; } public Element() { } public Element(object value, Element nextOblect) { this.Value = value; this.NextObject = NextObject; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д