Опашките обикновено са разочароващи в реалния живот, но в компютърна програма те могат да решат много проблеми. Разберете какво можете да правите с опашка и как.

Опашката е гъвкава структура от данни, която можете да използвате в различни настройки. От алгоритми за планиране на CPU до уеб приложения, той се намира навсякъде.

Ако се стремите да бъдете разработчик на Python, жизненоважно е да се справите с тази проста, но вездесъща структура от данни. Нека научим какво представлява структурата на данните на опашката и как да я внедрим в Python.

Какво представлява структурата на данните на опашката?

Кредит за изображение: Уикипедия

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

Ето основните операции, които можете да извършвате върху опашка:

  • Поставете в опашката: Добавете елементи към опашката.
  • Изваждане от опашката: Премахване на елементи от опашката.
  • instagram viewer
  • Печат: Отпечатайте елементите в опашката.
  • Отпред: Вземете елемента в началото на опашката.
  • Отзад: Вземете елемента в задната част на опашката.

Можете да приложите структурата на данните на опашката в Python по два начина: като използвате или контейнер за списък, или опашка с двоен край от модула за колекции. За тази програма ще използвате списък.

Как да внедрим структурата на данните на опашката в Python

Ще внедрявате опашка, като използвате контейнера за списък в Python. Започнете с деклариране на празен списък с името опашка.

опашка = []

Сега трябва да приемете въведеното от потребителя и да изпълните операцията, въведена от потребителя. Първо отпечатайте ред, подканващ потребителя да въведе команда. След това изчакайте потребителското въвеждане и го запазете в команда променлива.

Използвайки Изявления if на Python, изпълнете операцията, съответстваща на въведената от потребителя команда. Ако въведат неразпозната команда, излезте от програмата. Поставете тези операции в безкрайност докато цикъл за да се гарантира, че програмата продължава да работи, освен ако не се откажат.

докатоВярно:
команда = вход("Какво искаш да правиш? ")

ако команда == "на опашка":
# код
елиф команда == "деопашка":
# код
друго:
прекъсвам

опашка за печат)

Поставете в опашка

След като се справихте с основния контролен поток на програмата, можете да дефинирате кодовия блок за всяка операция. Първо напишете кода за поставяне в опашка. Enqueue означава вмъкване на елемент в края на опашката. Можете да направите това с помощта на добавям () метод:

акокоманда == "на опашка":
поставяне на опашка = вътр(вход(„Въведете елемента за поставяне в опашка:“))

Извадете от опашката

Сега напишете кода за изваждане на елемент от опашката. Можете да направите това, като използвате метода pop с 0 като индекс. Защо? Както научихте по-рано, опашката следва FIFO реда, така че първият елемент, който поставяте в опашката, трябва да бъде първият елемент, който излизате от опашката.

ако команда == "деопашка":
queue.pop(0)

Отпред

Продължавайки, напишете кода за отпечатване на елемента в началото на опашката. Просто отпечатайте 0-ия индекс на опашката.

ако команда == "отпред":
опашка за печат[0])

Задна

Подобно на кода за предната операция, за да извършите задната операция, отпечатайте елемента в последния индекс. За да направите това, първо използвайте функцията len() на опашката и след това извадете 1 от нея, за да намерите последния индекс.

ако команда == "отзад":
печат (опашка[лен (опашка) - 1])

Печат

Накрая напишете кода за командата за печат. Просто отпечатайте списъка, като използвате стандарта на Python печат () функция.

ако команда == "печат":
опашка за печат)

Ако въведеният от потребителя текст не съвпада с поддържана команда, излезте от цикъла while, като използвате оператор break. Крайният код трябва да изглежда така:

опашка = []

докатоВярно:
команда = вход(„Какво искаш да направиш?\n“)

ако команда == "на опашка":
enqueue = int (вход(„Въведете елемента за поставяне в опашка:“))
queue.append (поставяне на опашка)
елиф команда == "деопашка":
queue.pop(0)
елиф команда == "печат":
опашка за печат)
елиф команда == "отпред":
опашка за печат[0])
елиф команда == "отзад":
печат (опашка[лен (опашка)-1])
друго:
прекъсвам

опашка за печат)

Стартирайте програмата, за да изпробвате различните операции на опашка. Използвайте командата за печат, за да видите как те влияят на вашата опашка. Вече създадохте своя собствена проста реализация на опашка в Python.

Опашката е само една от многото полезни структури на данни

Концепцията за структура от данни е жизненоважна, която всеки студент по компютърни науки трябва да усвои. Вероятно вече сте научили или сте работили с някои основни структури от данни като масиви или списъци.

Интервюиращите също са склонни да задават въпроси, свързани със структурите от данни, така че ако търсите да получите високоплатена програмна работа, ще трябва да освежите знанията си за структурите от данни.