APP Stosy Kolejki Listy

background image

Antoni M. Zaj czkowski: : Algorytmy i podstawy programowania – stosy, kolejki, listy

8 maja 2009

1

Max_Length

Top

Rysunek. Tablicowa implementacja

stosu

S

TOSY

,

KOLEJKI

,

LISTY

We my pod uwag sko czony ci g

,

, przy czym przyjmiemy, e ele-

menty s tego samego typu. Ci g ten mo emy traktowa jako pewn struktur danych,
uporz dkowan liniowo, w której element

poprzedza element

,

.

Struktura ta mo e by pusta, poniewa dopuszczamy przypadek

.

W zale no ci od tego w jaki sposób organizujemy obsług tej struktury, czyli w jaki spo-

sób organizowany jest dost p do jej elementów, nazywamy j

stosem (

stack

),

kolejk

(

queue

), albo

list (

list

). Te trzy struktury nale do klasy

struktur logicznie liniowych, albo

krótko

struktur liniowych (

logically linear structures

), czyli takich, w których okre lony jest

porz dek liniowy (

Beidler, 1997

).

1. Stosy

Stos jest ci giem elementów tego samego typu o nast puj cych własno ciach:

S1. Stos jest pusty, gdy nie zawiera elementów.

S2. Wszystkie operacje dost pu do elementów stosu mog odbywa si na jednym ko cu

stosu. Koniec ten nazywamy

wierzchołkiem, albo szczytem (

top

) stosu. Drugi koniec stosu

nazywamy

dnem (

bottom

) stosu. W zwi zku z tym, stosy nazywamy czasami

listami

popychanymi (

pushdown list

) i zaliczamy do struktur typu „

ostatni wchodzi, pierwszy

wychodzi” – LIFO (

last in, first out

).

S3. Operacja

usu – Pop usuwa obiekt znajduj cy si na wierzchołku stosu. Nast pny

obiekt znajdzie si na wierzchołku stosu. Je eli przed wykonaniem tej operacji stos miał tylko

jeden element, to po jej wykonaniu staje si stosem pustym. Operacja nie mo e by wykonana

w przypadku pustego stosu.
S4. Operacja

wstaw – Push wstawia nowy obiekt na wierzchołek stosu. Je eli stos nie był

pusty, poprzednio wstawione elementy przesuwane s o jedn pozycj w dół.

Zadanie obliczeniowe.

Napisa , uruchomi i przetestowa program w j zyku Ada

implementuj cy stos jako tablic jednowymiarow oraz realizuj cy operacje na tym stosie. W

tym celu mo na posłu y si deklaracjami:

type Stack_Array is array (Positive range 1..Max_Length) of Element;
type
Stack_Record is record
Top : Natural;
List : Stack_Array;
end record;

Nale y w tym programie zapewni wykonywanie operacji

wstawiania i usuwania elementów ze stosu - procedure
Push

i procedure Pop oraz obliczania elementu na

wierzchołku stosu - function Top_Element i
sprawdzania czy stos jest pusty - function
Stack_Empty

, albo czy stos jest pełny – function

Stack_Full

. Poza tym, program musi uniemo liwia

wstawianie elemenu na pełny stos i usuwanie elementu z

pustego stosu i zawiera procedur wypisywania

elementów stosu – procedure Write_Stack.

Wskazówka. Dogodnie jest reprezentowa stos jak na rysunku (

Aho, Hopcroft, Ullman,

2003

).


Wyszukiwarka

Podobne podstrony:
APP Stosy Kolejki Listy 2011
APP ZO 006 Stosy Kolejki Listy
4 listy stosy kolejki
zadania na stosy i kolejki
algorytmy listy stos kolejki
W 4 S 52(APP 2)KOLORY I SYMBOLE
listy zadan, rach3
FM listy id 178271 Nieznany
Listy o A. Lisowskim, W, Rozmaitości
Lk Gabinet zabiegowy, Listy-Kontrolne-DOC
LISTY PAWLA-NOWY TESTMENT, Staropolka

więcej podobnych podstron