Реализовать структуру данных «очередь строк» в виде класса - C#
Формулировка задачи:
Реализовать структуру данных «очередь строк» в виде класса (набора классов). Стандартные классы-коллекции .NET не использовать, в качестве внутренней структуры для хранения данных использовать исключительно массивы.
PS Помогите. Я не совсем понимаю что от меня хотят!
Нужно сделать на шарпе в виде консольного приложения.
Решение задачи: «Реализовать структуру данных «очередь строк» в виде класса»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FIFO { class Program { static void Main(string[] args) { try { Queue q1 = new Queue(); q1.Add(4); q1.Add(5); Console.WriteLine("The front is now {0}", q1.Head()); q1.Add(6); Console.WriteLine("Removing from q1 returns {0}", q1.Remove()); Console.WriteLine("Queue 1 has size {0}", q1.size); Console.WriteLine("Queue 1 empty? {0}", q1.IsEmpty()); q1.Remove(); Console.WriteLine("Throws exception before we get here"); } catch (Exception e) { Console.WriteLine(e); } Console.ReadKey(); } public class Queue { private string[] data; public int size; private int front = -1; private int back = 0; private int count = 0; public Queue() { size = 10; data = new string[size]; } public Queue(int size) { this.size = size; data = new string[size]; } public bool IsEmpty() { return count == 0; } public bool IsFull() { return count == size; } public void Add(int i) { if (IsFull()) throw new ApplicationException("Очередь заполнена"); else { count++; data[back++ % size] = Convert.ToString(i); } } public string Remove() { if (IsEmpty()) throw new ApplicationException("Очередь пуста"); else { count--; return data[++front % size]; } } public string Head() { if (IsEmpty()) { throw new ApplicationException("Очередь пуста"); } else return data[(front + 1) % size]; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д