Стек - динамична структура от данни, в която добавяне и изтриване на продукти, достъпни само в единия край (в горната част (последна) елемент).
Има някои съкращения:
Последователни етапи, стека респ номера 1, 2, 3
Следните операции се извършват в стека:
- добавяне на нов елемент за топчето;
- определяне дали пакета е празна;
- достъп до най-новите включването на елементи, в горната част на комина;
- изключване от комина на последния елемент включена.
Създаване на звено структура:
Добавяне на елемент към стека:
процедура Push (Var Head: PNode х: овъгляване); Var NewNode: PNode; започва нов (NewNode); <выделение памяти> NewNode ^ .data: = х; <запись символа> NewNode ^ .next: = главата; <сделать первым узлом> Глава: = NewNode; приключи;
Ограда елемент от върха:
Обърнете внимание на детайлите на работата с стека като пример:
Пример: е въведен низ характер, на които таговете са написани на ъглови скоби (<>). Определете дали правилните скоби са подредени (не се обръща внимание на другите герои).
алгоритъм задача:
- първоначално празен пакет;
- примки през всеки знак на низа;
- Ако текущата характер - ъглова скоба, за отваряне, а след това я поставете на върха на комина;
- Ако текущата характер - затваряне скоба ъгъл, след това сложете на върха на стека: трябва да има ъгъл скоба отвор (в противен случай - грешка);
- в края на комина трябва да е празен, в противен случай - грешка.
Създаване на структура стек:
конст MAXSIZE = 50; въведете Stack = рекорд <стек рассчитан на 50 символов> тагове: масив [1..MAXSIZE] на знак; площ: цяло число; <число элементов> приключи;
Опашка - динамична структура от данни, в които във всеки един момент са само два елемента: първият и последният. Добавяне на елементи е възможно само от единия край (края на линията) и премахване на елементи - само в другия край (на опашката).
Налице е намаляване на опашката: FIFO = F ърво П - F ърво О ут, от английски - ". Кой е първият, който влиза, първата извънстолична"
Следните операции са на разположение за опашката:
- се добавят към края на опашката елемент (PushTail);
- премахнете елемент от опашката (поп).
Работа с опашка обикновено масив:
Това е доста проста техника, която включва две отрицателни точки: предсрочно освобождаване на масива, елементите на смяна, когато изваждате от опашката.
опашка на работа чрез пръстеновидния масив:
Ако редът 1:
Ако опашката е празна:
Ако опашката е пълна:
Определяне на размера на масива (когато е празен и изпълнен линия):
Опашката в Pascal (използване на пръстеновиден масив)
Свързани статии