Съдържание
Опашката е динамична структура от данни, от която можете да осъществите достъп до данни в процес на „първи пристигнал, първи излязъл“. Стекът е динамична структура от данни, от която можете да получите достъп до данните в процес на последно влизане, първо излизане. Ако реализирате стак, само последният въведен елемент ще стане достъпен. Ако искате да получите достъп до данните, които са в основата на него (първия елемент, който сте поставили), тогава ще го третирате като опашка. За да направите това, трябва да приложите втора купчина.
инструкции
Реализирането на опашката с два стека е проста (Ablestock.com/AbleStock.com/Getty Images)-
Във вашия текстов редактор, напишете кода, за да приложите стека в съответствие с процедурите и функциите, налични в езика за програмиране, който искате да използвате. Обадете се на този стак. Поставете данните в Stack_Entry (много езици за програмиране използват командата "push" за добавяне на данни). Например, изпълнете командата "push" в Stack_Entry, за да въведете данните в следния ред: "A", "B" и "C". "A" е първият, който влиза и е в дъното на стека. Ако искате да получите достъп до този първи елемент, вие обработвате данните като опашка.
-
Напишете кода, за да приложите втори стек в съответствие с процедурите и функциите, налични в езика за програмиране, който искате да използвате. Наречете го StackSafe (много езици за програмиране използват командата "pop" за премахване на данни от стека).
-
Премахнете всеки елемент от стека 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 е празен.
-
Когато стека Stack_Path е празен, елементът, който е в базата Stack_Input ("A" в нашия пример) сега е в горната част на Stack_Aside. Премахнете елемента SleepSeat и сте превърнали стека в опашка. Първият ви елемент в стека сега е първият елемент, който трябва да бъде изваден (първи в, първи изход или FIFO в първото, първо).
Две стака са равни на един ред
съвети
- Повечето езици за програмиране предоставят функции за обработване на данни във вектор, като че ли е опашка или стек. Това означава, че можете да получите достъп както до последната, така и до първата позиция на вектора, независимо от кой край въвеждате данните. Ако данните ви са във вектор, не е нужно да се притеснявате за достъп до тях като опашка или стек. Но ако данните ви са в динамична купчина и искате да я третирате като опашка, трябва да реализирате втори стек.
Какво ви трябва
- Текстов редактор
- Компилатор или интерпретатор за някой език за програмиране