Skip to content

Ред

Ред представља листу елемената у којима се елементи додају на једном крају листе који се назива крај реда, а уклањају на другом крају листе, који се назива почетак реда. То значи да се елементи са реда уклањају истим редоследом којим су и додавани на ред (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