streda, 25 apríl 2012 13:48 Written by 6331 times
Rate this item
(5 votes)

C# - Zásobník (stack) a fronta (Queue)

Zásobník (v angličtine stack) je druh dátovej štruktúry používaná pre dočasné ukladanie dát. Predstavme si to ako postup ukladania do pamäte, pri ktorom sa prvky, ktoré sa uložili ako posledné, vyberú z pamäte ako prvé, tomu sa tiež hovorí  LIFO (čo je zkratkou za anglické Last In First Out).


Obsahuje niekoľko málo metód pre prácu :
Push - Pridanie prvku na vrchol zásobníka.
Pop - Vrátenie prvku na vrchole zásobníka, prvok bude po vybrani zo zásobnika odstráneý
Peek - Vrátenie prvku na vrchole zásobníka, ale neodstráni ho zo zásobníka.
Clear- Vyprázdnenie zásobnika.

Kód v C# :

 

        /// <summary>
        /// Priklad pouzitia triedy Stack.
        /// </summary>
        public class StackPriklad
        {
            public static void Priklad()
            {
                Stack myStack = new Stack();
                //pridanie prvku do zasobnika
                myStack.Push("pondelok");
                myStack.Push("utorok");
                myStack.Push("streda");
                myStack.Push("www.projectik.eu");
                myStack.Push("piatok");
                //Vypise pocet prvkov
                Console.Write("\nPocet\t\t :{0} ", myStack.Count);
                //Vypisanie top prvku
                Console.Write("\nPrvok\t\t :{0} ", myStack.Pop());
                //Vypise pocet prvkov
                Console.Write("\nPocet\t\t :{0} ", myStack.Count);
                //Vypisanie top prvku
                Console.Write("\nPrvok\t\t :{0} ", myStack.Peek());
                //Vypisanie top prvku
                Console.Write("\nPrvok\t\t :{0} ", myStack.Peek());
                //Vypise pocet prvkov
                Console.Write("\nPocet\t\t :{0} ", myStack.Count);
              
            }
        }

OUTPUT :

Pocet         :5
Prvok         :piatok
Pocet         :4
Prvok         :www.projectik.eu
Prvok         :www.projectik.eu
Pocet         :4

Fronta (v angličtine Queue)

je druh dátovej štruktúry používaná pre dočasné ukladanie dát. Predstavme si to ako postup ukladania do pamäte, pri ktorom sa prvky, ktoré sa uložili ako prvé, vyberú z pamäte ako prvé, tomu sa tiež hovorí FIFO (čo je zkratkou za anglické First In First Out).

Obsahuje niekoľko malo metód pre prácu :
Enqueue - Pridanie prvku do fronty.
Dequeue - Vrátenie prvku fronty, prvok bude po vybrani z fronty odstráneý
Peek - Vrátenie prvku fronty, ale neodstráni ho.
Clear - Vyprázdnenie fronty.

Kód v c# :

 /// <summary<
        /// Priklad pouzitia triedy Queue.
        /// </summary<
        public class QueuePriklad
        {
            public static void Priklad()
            {
                Queue myQueue = new Queue();
                //pridanie prvku do fronty
                myQueue.Enqueue("pondelok");
                myQueue.Enqueue("utorok");
                myQueue.Enqueue("streda");
                myQueue.Enqueue("www.projectik.eu");
                myQueue.Enqueue("piatok");
                //Vypise pocet prvkov
                Console.Write("\nPocet\t\t :{0} ", myQueue.Count);
                //Vypisanie top prvku
                Console.Write("\nPrvok\t\t :{0} ", myQueue.Dequeue());
                //Vypise pocet prvkov
                Console.Write("\nPocet\t\t :{0} ", myQueue.Count);
                //Vypisanie top prvku
                Console.Write("\nPrvok\t\t :{0} ", myQueue.Peek());
                //Vypisanie top prvku
                Console.Write("\nPrvok\t\t :{0} ", myQueue.Peek());
                //Vypise pocet prvkov
                Console.Write("\nPocet\t\t :{0} ", myQueue.Count);
            }
        }

OUTPUT:

Pocet         :5
Prvok         :pondelok
Pocet         :4
Prvok         :utorok
Prvok         :utorok
Pocet         :4

Last modified on pondelok, 19 december 2016 21:25
Ing.Jaroslav Vadel

Som zakladateľom www.projectik.eu.

Hrám sa na programátora, ktorý ovláda:

c#,cpp,java,unity3d,php,html,NI testand,NI Vision Builder,Cognex In-Sight,NI LabView

"Naprogramovať program, ktorý funguje vie každy. Ale to, že program funguje ešte neznamena, že je napísany správne "

Website: www.projectik.eu