Ред представља листу елемената у којима се елементи додају на једном крају листе који се назива крај реда, а уклањају на другом крају листе, који се назива почетак реда. То значи да се елементи са реда уклањају истим редоследом којим су и додавани на ред (FIFO – First In First Out). Елементи се на ред додају операцијом Enqueue, а уклањају операцијом Dequeue.
У програмском језику C# класа Queue<T>
представља генеричку класу дефинисану у именском простору System.Collection.Generic
. Ред у програмском језику C# можемо дефинисати као FIFO колекцију инстанци истог типа типа променљиве величине. Креирање реда и рад са методама класе Queue<T>
демонстрираћемо у следећем примеру:
using System;
using System.Collections.Generic;
class RadSaRedom
{
static void Main(string[] args)
{
// Креирај ред "ucenici"
Queue<string> ucenici = new Queue<string>();
// Додај пет елемената у ред
ucenici.Enqueue("Ucenik 1");
ucenici.Enqueue("Ucenik 2");
ucenici.Enqueue("Ucenik 3");
ucenici.Enqueue("Ucenik 4");
ucenici.Enqueue("Ucenik 5");
// Испиши све елеменате у реду
foreach (string ucenik in ucenici)
Console.WriteLine(ucenik);
// Уклони елемент на почетку реда - биће уклоњен "Ucenik 1"
ucenici.Dequeue();
// Који се елемент тренутно налази на почетку реда?
Console.WriteLine("Na početku reda je: {0}", ucenici.Peek());
// Да ли се у реду налази елемент "Ucenik 3"?
if(ucenici.Contains("Ucenik 3"))
Console.WriteLine("U redu se nalazi Ucenik 3");
else
Console.WriteLine("U redu se ne nalazi Ucenik 3");
// Копирај елементе реда у низ "nizUcenika" и испиши га
string[] nizUcenika = ucenici.ToArray();
foreach (string ucenik in nizUcenika)
Console.WriteLine(ucenik);
// Обриши све елементе из реда
ucenici.Clear();
}
}
- Методом
Enqueue()
додајемо елемент на крај реда - Методом
Dequeue()
уклањамо елемент на почетку реда - Методом
Peek()
добијамо вредност елемента на почетку реда, али га не уклањамо - Методом
Contains()
проверавамо да ли се одређени елемент налази у реду - Методом
ToArray()
копирамо елементе реда у низ - Методом
Clear()
бришемо све елементе из реда
Више о класи Queue<T>
, њеним својствима и методама прочитајте у званичној документацији:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.queue-1?view=netframework-4.0