Как да реализираме опашка, използвайки два стека

Автор: Laura McKinney
Дата На Създаване: 4 Април 2021
Дата На Актуализиране: 26 Юни 2024
Anonim
МК "МАНДАРИНКА"+схема Фриволите. Scheme tatting mandarin slice.
Видео: МК "МАНДАРИНКА"+схема Фриволите. Scheme tatting mandarin slice.

Съдържание

Опашката е динамична структура от данни, от която можете да осъществите достъп до данни в процес на „първи пристигнал, първи излязъл“. Стекът е динамична структура от данни, от която можете да получите достъп до данните в процес на последно влизане, първо излизане. Ако реализирате стак, само последният въведен елемент ще стане достъпен. Ако искате да получите достъп до данните, които са в основата на него (първия елемент, който сте поставили), тогава ще го третирате като опашка. За да направите това, трябва да приложите втора купчина.


инструкции

Реализирането на опашката с два стека е проста (Ablestock.com/AbleStock.com/Getty Images)

    Две стака са равни на един ред

  1. Във вашия текстов редактор, напишете кода, за да приложите стека в съответствие с процедурите и функциите, налични в езика за програмиране, който искате да използвате. Обадете се на този стак. Поставете данните в Stack_Entry (много езици за програмиране използват командата "push" за добавяне на данни). Например, изпълнете командата "push" в Stack_Entry, за да въведете данните в следния ред: "A", "B" и "C". "A" е първият, който влиза и е в дъното на стека. Ако искате да получите достъп до този първи елемент, вие обработвате данните като опашка.

  2. Напишете кода, за да приложите втори стек в съответствие с процедурите и функциите, налични в езика за програмиране, който искате да използвате. Наречете го StackSafe (много езици за програмиране използват командата "pop" за премахване на данни от стека).


  3. Премахнете всеки елемент от стека Stack_Insert и ги поставете в Sleep Stack. Най-общо, премахвате елемент Stack_Input и го поставяте в StackAid. След това проверявайте дали Stack_Input е празен. Ако не е празен, премахнете следващия елемент от Stack_Input и го поставете в Sleep Stack. Повторете, докато Stack_Input е празен. В нашия пример премахвате "C" от Stack_Input и го поставяте в Stack_Aid. Уверете се, че InputPilot е празен. Премахнете "B" от Stack_Input и го настройте на Stack_Aid. Уверете се, че InputPilot е празен. Премахнете "A" от Stack_Input и го настройте на Stack_Aid. Уверете се, че InputPilot е празен.

  4. Когато стека Stack_Path е празен, елементът, който е в базата Stack_Input ("A" в нашия пример) сега е в горната част на Stack_Aside. Премахнете елемента SleepSeat и сте превърнали стека в опашка. Първият ви елемент в стека сега е първият елемент, който трябва да бъде изваден (първи в, първи изход или FIFO в първото, първо).


съвети

  • Повечето езици за програмиране предоставят функции за обработване на данни във вектор, като че ли е опашка или стек. Това означава, че можете да получите достъп както до последната, така и до първата позиция на вектора, независимо от кой край въвеждате данните. Ако данните ви са във вектор, не е нужно да се притеснявате за достъп до тях като опашка или стек. Но ако данните ви са в динамична купчина и искате да я третирате като опашка, трябва да реализирате втори стек.

Какво ви трябва

  • Текстов редактор
  • Компилатор или интерпретатор за някой език за програмиране

Вие сте имали вазектомия и сега се възстановявате. След няколко дни вече се чувствате доста добре. Ключът към правилното лечение на вазектомията е да се грижим добре за себе си. Отдихът и грижите ще н...

Диванът обикновено е един от най-скъпите мебели в дома ви. Може да бъде скъпо да се сменя, когато се прави нова реконструкция с нова цветова схема. Въпреки че процесът на боядисване не е най-добрият в...

Препоръчваме