Добавление и удаление элемента из очереди - C#
Формулировка задачи:
Есть три очереди, с размерностями 13, 19, 19
Когда добавляю элементы в очереди (в конец), я добавляю сразу во все очереди одновременно. Как только количество элементов достигает 12 — появляется сообщение о том, что индекс находился за границей массива.
Добавил try catch (то, что закомментировано выше в коде), не работает удаление элементов из начала очереди:
С добавлением try catch не удаляет элементы вообще. Помогите разобраться, пожалуйста
public void Enqueue(object v) // добавление в конец очереди
{
int i = 0;
//try
//{
while (listt[i] != null)
{
if (i == capacity - 1)
capacity += 1;
i++;
}
listt[i] = v;
count++;
//}
//catch
//{
// Console.WriteLine("NO");
//}
}public object Dequeue() // возврат с удалением
{
object elem;
elem = listt[0];
int i = 0;
//try
//{
while (listt[i + 1] != null)
{
listt[i] = listt[i + 1];
i++;
}
listt[i] = null;
count--;
return elem;
//}
//catch
//{
// Console.WriteLine("No");
//return 0;
//}
}Решение задачи: «Добавление и удаление элемента из очереди»
textual
Листинг программы
public void Enqueue(object v) // добавление в конец очереди
{
int i = 0;
while (listt[i] != null)
{
if (i == capacity - 1)
capacity += 1;
i++;
if (i >= capacity) break;
}
listt[i] = v;
count++;
}