Как сделать чтобы элементы очереди можно было добавить с клавиатуры - C#
Формулировка задачи:
class Program
{
static void Main(string[] args)
{
//обьект класса очередь
Queue q1 = new Queue();
q1.push(155);
q1.push(152);
q1.push(25);
q1.push(352);
q1.push(77);
q1.push(6);
q1.push(76);
q1.showQueue();
q1.Empty();
Console.WriteLine("Размер занимаемой памяти составляет: " + q1.MemorySize() + " Бит");
Console.WriteLine("Первый елемент: " + q1.showFirst());
Console.ReadLine();
}
}
class Queue
{
// метод добавления елемента в очередь с параметром
public bool push(int a)
{
if (top == size)
{
Console.WriteLine("Добавление елемента невозможно");
}
else
queue[top++] = a;
return true;
}
// метод удаления елементов из очереди.
public int pop()
{
if (top == back)
{
return 0;
}
else
return queue[back++];
}
// показать очередь
public void showQueue()
{
for (int i = back; i < top; i++)
{
Console.WriteLine(queue[i]);
}
}
// показать первый елемент
public int showFirst()
{
return queue[back];
}
// проверка на пустоту очереди
public bool Empty()
{
if (top == back)
{
Console.WriteLine("Очередь пуста");
return true;
}
else
Console.WriteLine("Очередь не пуста");
return false;
}
// обьем памяти
public int MemorySize()
{
int memory = 0;
int memorySize;
for (int i = 0; i < queue.Length; i++)
{
if (queue[i] == 0)
{
break;
}
else memory++;
}
memorySize = memory * 4;
return memorySize;
}
private static int size = 10;
// массив для очереди
public int[] queue = new int[size];
// это изначальные верх и низ очереди
private int top = 0;
private int back = 0;
}Решение задачи: «Как сделать чтобы элементы очереди можно было добавить с клавиатуры»
textual
Листинг программы
static void GetKeyboardInput(Queue q)
{
while(true)
{
Console.Write("Введите элемент очереди: ");
var newElem = Console.ReadLine();
if(string.IsNullOrEmpty(newElem)) return;
int num;
if(!int.TryParse(newElem, out num)) continue;
q.push(num);
}
}