Stekovi i redovi
VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA
BLACE
Predmet
: Algoritmi i strukture podataka
Tema
: Stekovi i redovi
Profesor:
Student:
Branislav Jevtović
Blace, 2010.
Algoritmi i strukture podataka
Stekovi i redovi
Sadržaj
4.1. Implementacija steka pomo
u niza................................................................................12
2

Algoritmi i strukture podataka
Stekovi i redovi
2. Osnovno o strukturama podataka
Da bismo pokazali neke osnovne osobine struktura kreiraćemo nekoliko struktura
pogodnih za korišćenje u grafici.
Osnovni objekat u grafici je tačka (posmatraćemo tačku u ravni), za koju ćemo
pretpostaviti da je definisana celobrojnim koordinatama
x
i
y
.
Ovi podaci mogu biti smešteni u strukturu koja je definisana kao
struct tacka
{
int x;
int y;
}
Struktura se deklariše korišćenjem rezervisane reči
struct
iza čega, unutar vitičastih
zagrada, sledi spisak promenljivih koje pripadaju strukturi (u ovom slučaju celobrojna
x
i
y
koordinata). Neposredno iza reči struct može stajati i naziv strukture, takozvani
strucure tag
(u našem slučaju
tacka
). Ovaj naziv se može kasnije koristiti kao skraćenica za deklaraciju
strukture. Promenljive navedene unutar strukture se nazivaju
promenljive članicama
ili samo
članice
. S obzirom da su promenljive članice zatvorene unutar strukture, dve članice unutar
različitih struktura mogu imati iste nazive.
4
Algoritmi i strukture podataka
Stekovi i redovi
Rezervisana reč
struct
definiše složeni tip podatka. Međutim, iza zatvorene vitičaste
zagrade može biti navedena i lista promenljivih tog tipa, baš kao što je to slučaj i sa
deklarisanjem promenljivih bilo kog drugog tipa. Na primer:
struct ...
{
...
} a, b, c;
deklariše
a
,
b
i
c
kao promenljive navedenog tipa i obezbeđuje memorijski prostor za
njih, isto kao što linija
int a, b, c;
deklariše
x
,
y
i
z
kao promenljive tipa int. Definicija
strukure koja nije praćena promenljivama ne zauzima nikakav memorijski prostor, već samo
opisuje sadržaj navedene strukture. Ukoliko definicija sadrži tag, ona se kasnije može koristiti za deklarisanje
instanci te strukture. Tako se neka konkretna tačka može deklarisati kao:
struct tacka t;
čime je naznačeno da je promenljiva
t
struktura tipa
struct tacka
. Struktura može biti
inicijalizovana tako što se iza njene deklaracije navodi znak dodele, a zatim u vitičastim
zagradama lista inicijalnih vrednosti promenljivih unutar strukture:
struct tacka max_t = {1024, 768};
Struktura se takođe može inicijalizovati dodeljivanjem vrednosti neke druge strukure
istog tipa.
Članicama neke strukure se pristupa tako što se navodi naziv strukture iza koje sledi
naziv promenljive članice odvojen tačkom:
naziv_strukture.clanica
Na primer, sledeća linija štampa koordinate tačke
t
:
printf("%d,%d", t.x, t.y);
a rastojanje između dve tačke bi se računalo kao:
rastojanje = sqrt( (double)t.x*t.x + (double)t.y*t.y );
Kao što smo ranije pomenuli, članice strukture mogu biti i druge strukture. Kao primer
navodimo pravougaonik koji je definisan pomoću dve tačke (donje levo i gornje desno teme).
5
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti