Шта је Стацк у Ц #?
Стек је посебна колекција случајева која представља концепт последњег уласка (ЛИФО). Да прво разумемо ЛИФО, узмимо пример. Замислите хрпу књига са сваком књигом која се налази једна на другој.
Концепт последњег улаза у случају књига значи да се само највише књига може уклонити из хрпе књига. Између није могуће уклонити књигу, јер би то онда пореметило подешавање слога.
Дакле, у Ц #, стек такође ради на исти начин. Елементи се додају у низ, један на врху другог. Процес додавања елемента у стек назива се пусх операција. Да бисте уклонили елемент из стека, можете уклонити и горњи елемент стека. Ова операција је позната као поп.
Погледајмо детаљније операције доступне за колекцију Стацк.
Изјава стека
Стек се креира помоћу типа Стацк Дата. Кључна реч „ново“ користи се за стварање објекта стека. Затим се објект додељује променљивој ст.
Stack st = new Stack()
Додавање елемената у стек
Метода гурања користи се за додавање елемента у стек. Општа синтакса изјаве дата је у наставку.
Stack.push(element)
Уклањање елемената из стека
Поп метода се користи за уклањање елемента из стека. Скочна операција ће вратити највиши елемент стека. Општа синтакса изјаве дата је у наставку
Stack.pop()
Цоунт
Ова особина се користи за добијање броја предмета у стогу. Испод је општа синтакса ове изјаве.
Stack.Count
Садржи
Овом методом се утврђује да ли је елемент присутан у стеку. Испод је општа синтакса ове изјаве. Изјава ће вратити труе ако елемент постоји, у супротном ће вратити вриједност фалсе.
Stack.Contains(element)
Сада да видимо како ово ради на нивоу кода. Сав доленаведени код биће уписан у нашу апликацију за конзолу. Код ће бити записан у нашу датотеку Програм.цс.
У доњем програму ћемо написати код да бисмо видели како можемо да користимо горе поменуте методе.
Пример 1
У овом примеру ћемо видети
- Како се стек ствара.
- Како приказати елементе стека и користити методе Цоунт анд Цонтаин.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);foreach (Object obj in st){Console.WriteLine(obj);}Console.WriteLine(); Console.WriteLine();Console.WriteLine("The number of elements in the stack " +st.Count);Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3));Console.ReadKey();}}}
Објашњење кода: -
- Први корак се користи за декларацију стека. Овде проглашавамо „ст“ променљивом која садржи елементе нашег стека.
- Даље, у наш стек додамо 3 елемента. Сваки елемент се додаје методом Пусх.
- Сада, пошто се елементима стека не може приступити преко положаја индекса попут листе низова, морамо да користимо другачији приступ за приказ елемената стека. Објект (обј) је привремена променљива која се декларише за држање сваког елемента стека. Затим користимо фореацх наредбу за пролазак кроз сваки елемент стека. За сваки елемент стека вредност се додељује променљивој обј. Затим користимо наредбу Цонсоле.Врителине за приказ вредности на конзоли.
- Користимо својство Цоунт ( ст.цоунт ) да бисмо добили број предмета у гомили. Ова особина ће вратити број. Затим ову вредност приказујемо на конзоли.
- Затим користимо методу Садржи да бисмо видели да ли је вредност 3 присутна у нашем стеку. Ово ће вратити тачну или нетачну вредност. Затим приказујемо ову повратну вредност на конзоли.
Ако је горњи код исправно унесен и програм је покренут, приказаће се следећи излаз.
Излаз:
Из резултата можемо видети да се приказују елементи стека. Такође, приказује се вредност Труе да би се на стеку дефинисала вредност 3.
Напомена : Приметили сте да се први приказује последњи елемент гурнут у стек. Ово је највиши елемент стека. Број елемената стека је такође приказан у излазу.
Пример 2
Сада погледајмо функционалност „уклањања“. Видећемо код потребан за уклањање горњег елемента из стека.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);st.Pop();foreach (Object obj in st){Console.WriteLine(obj);}Console.ReadKey();}}}
Објашњење кода: -
- Овде само издајемо поп методу која се користи за уклањање елемента из стека.
Ако је горњи код правилно унесен и програм је покренут, приказаће се следећи излаз.
Излаз:
Видимо да је елемент 3 уклоњен из стека.
Резиме
- Стацк се заснива на последњем ин фирст оут концепту. Операција додавања елемента у стог назива се пусх операција. Операција уклањања елемента у стек назива се поп операција.