stacks queues stl
На примерима научите примену стекова и редова у СТЛ-у.
Складишта и редови су два контејнера у СТЛ који су врло основне природе. То су најједноставнији контејнери који имају широку примену у програмирању софтвера.
У овом упутству ћемо видети детаљну имплементацију оба ова контејнера у СТЛ. Такође ћемо проћи низ различитих операција подржаних стеком и редом са примерима.
=> Овде припазите на једноставне серије обуке за Ц ++.
Шта ћете научити:
Стацкс
Стацк контејнер у СТЛ је врста адаптера контејнера. Користи се за копирање структуре података стека у Ц ++. Спремник стека је скуп елемената у који су елементи уметнути на једном крају и такође обрисани на истом крају.
Ова уобичајена тачка додавања и брисања позната је под називом „Врх стека“.
Сликовни приказ стека приказан је испод.
Као што је приказано у горњој представи, стек је контејнер у којем се додају и бришу елементи са истог краја званог Врх стека.
Будући да се додавање и брисање догађа на истом крају, можемо рећи да је контејнер стека ЛИФО (задњи улаз, први излаз) тип посла. То значи да ће елемент који је први додан бити последњи који ће се избрисати.
Да бисмо применили стацк контејнер, морамо да укључимо заглавље у наш програм.
#include
Синтакса опште декларације за стек контејнер је:
stack stackName;
Операције стека
Даље, разговарајмо о различитим операцијама које слажу контејнер у СТЛ потпоре.
- гурати : пусх операција се користи за уметање елемента у стек. Ова операција увек додаје елементе на врху стека.
Размислите о празном стеку мистацк типа интегер .
Затим, додајте елемент 1 у стек.
Затим у стек додамо елемент 3.
Према представљању, као резултат операције потискивања, елемент се додаје на врх стека. Након сваке операције потискивања, величина стека се повећава за 1.
- поп : поп операција се користи за уклањање елемента из стека. Уклоњени елемент је онај на који је уперен врх стека. Као резултат искачуће операције, величина стека се смањује за 1.
Погледајмо како изгледа поп операција:
Размотрите стацк мистацк као горе у који смо већ угурали 2 елемента.
Назовимо сада функцију поп (). Када се овај позив изврши, елемент на врху стека се уклања, а „Врх“ показује на следећи елемент као што је приказано доле.
Ако поново позовемо поп (), тада ће се уклонити следећи елемент (у овом случају 1), што ће резултирати празним стеком.
најбољи бесплатни софтвер за снимак екрана за Виндовс 10
- врх : Враћа највиши елемент стека.
- празна : Проверава да ли је стек празан или не.
- величина: Приказује величину стека, тј. Број елемената у стеку.
Доље је дат пример примене стека ради бољег разумевања операција.
#include #include using namespace std; void printStack(stack stk) { while (!stk.empty()) { cout << ' ' << stk.top(); stk.pop(); } cout << '
'; } int main () { stack oddstk; oddstk.push(1); oddstk.push(3); oddstk.push(5); oddstk.push(7); oddstk.push(9); cout << 'The stack is : '; printStack(oddstk); cout << '
Size of stack: ' << oddstk.size(); cout << '
Top of stack: ' << oddstk.top(); cout << '
oddstk.pop() : '; oddstk.pop(); printStack(oddstk); cout<<'
Another pop(): '; oddstk.pop(); printStack(oddstk); return 0; }
Горњи пример јасно показује операцију потискивања која генерише стек. Такође приказује стек након две узастопне поп операције.
Тако смо видели стек и његове операције у СТЛ-у. Даље, у овом упутству видећемо детаљну примену још једног једноставног СТЛ контејнера који је „Ред чекања“.
Ред чекања
Ред је још један контејнер у СТЛ-у који је такође врло једноставан и користан. Контејнер реда је реплика структуре података о реду у Ц ++. За разлику од стека, у контејнеру са редом постоје два краја, тј. Предњи и задњи.
Елементи се додају у ред са задње стране док се бришу са предње стране. Генерално, ред користи ФИФО (Фирст ин, Фирст Оут) тип аранжмана.
најбоља апликација за преузимање мп3-а за андроид
Да бисмо имплементирали контејнер реда у програм, у код морамо да уврстимо заглавље.
#include
Општа синтакса за декларисање реда је:
ред куеуе_наме;
Контејнер реда декларишемо на следећи начин:
Queue myqueue;
Операције у реду
Сада ћемо видети разне операције које подржава ред.
- пусх: Функција „пусх“ додаје елемент на крају реда, тј. На задњем делу реда.
- поп: Функција ‘поп’ уклања први елемент реда, тј. Елемент на чекању реда.
Хајде да разумемо пусх и поп функције реда.
Узмите у обзир празан ред проглашен изнад микуеуе. Сада операцијом гурамо паран број 2 у реду
микуеуе.пусх (2);
Сада ће ред изгледати као:
Даље, у ред додајемо „4“ позивом „микуеуе.пусх (4)“.
Сада ред изгледа као што је приказано доле:
Као што се види горе, елементи се гурају у ред са задњег или задњег дела.
Ајмо сада да оперишемо ред.
микуеуе.поп ();
Дакле, као што видимо, када се позове поп (), елемент испред реда се уклања. То значи да је први елемент који је унет у ред први елемент који је изашао из реда.
- фронт: Ова функција враћа референцу на први елемент реда.
- назад: Назад враћа референцу на последњи елемент у реду.
- празно: Проверава да ли је ред празан.
- величина: Приказује величину реда, тј. Број елемената у реду.
Доље је дат Пример програма који приказује операције које користи контејнер реда.
#include #include using namespace std; void printQueue(queue myqueue) { queue secqueue = myqueue; while (!secqueue.empty()) { cout << ' ' << secqueue.front(); secqueue.pop(); } cout << '
'; } int main() { queue myqueue; myqueue.push(2); myqueue.push(4); myqueue.push(6); myqueue.push(8); cout << 'The queue myqueue is : '; printQueue(myqueue); cout << '
myqueue.size() : ' << myqueue.size(); cout << '
myqueue.front() : ' << myqueue.front(); cout << '
myqueue.back() : ' << myqueue.back(); cout << '
myqueue.pop() : '; myqueue.pop(); printQueue(myqueue); return 0; }
Излаз:
Ред чекања је: 2 4 6 8
микуеуе.сизе (): 4
микуеуе.фронт (): 2
микуеуе.бацк (): 8
микуеуе.поп (): 4 6 8
Као што је горе приказано, прво проглашавамо контејнер реда. Затим помоћу операције гурања у њу додамо прва четири парна броја. Након тога искачемо елемент из реда и приказујемо промењени ред.
Закључак
Овим смо дошли до краја овог водича о стековима и редовима. Као што је већ поменуто, ово су најједноставнији контејнери које имамо у СТЛ-у. Друга варијација контејнера реда позната је као „Приоритетни ред“.
У нашем предстојећем упутству, разговараћемо више о Приоритетном реду у СТЛ-у !!
=> Посетите овде да бисте научили Ц ++ из огреботина.