5. Strukturni tipovi podataka Flashcards

1
Q

Polja

A

Polja su kolekcija elemenata istog tipa. Elementima polja se pristupa koriscenjem njihove pozicije (indeks) u polju pa se zato polja cesto nazivaju i indeksne strukture. To je staticka struktura podataka sto znaci da se njegova velicina, tj. broj elemenata u polju ne menja za vreme njegovog zivotnog ciklusa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Polja u programskom jeziku C

A

Kada se polje kreira u dinamickoj zoni memorije, broj elemenata je poznat u fazi izvrsenja programa i tada se za njegove elemente rezervise prostor u dinamickoj zoni memorije. Za pristup podacima koji se nalaze u dinamickoj zoni memorije koriste se pokazivaci (speicjalni tipovi podataka koji pamte adrese drugih podataka u memoriji)

Primer:
int niz, velicina;
scanf(“%d”, &velicina);
niz=(int
)malloc(velicina*sizeof(int));

Polja se brisu iz dinamicke zone memorije koristeci free(niz);

Pokazivac je primenljiv i za nizove u statickoj, a i u dinamickoj zoni memorije. I za nizove u statickoj zoni memorije naziv niza je pokazivac na njegov prvi element.

Jedino u programskom jeziku C niz u dinamickoj zoni memorije ima osobinu dinamicke strukture podataka.
Funkijom realloc moze da se promeni velicina niza

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Polja u programskom jeziku C++

A

Kod polja u programskom jeziku C++, osobine su nasledjene iz programskog jezika C, tj mogu biti kreirane i u dinamickoj i u statickoj zoni memorije. Medjutim, razlika u odnosu na C je to sto u C++-u polja su iskljucivo staticke strukture podataka, odnosno njihova velicina se ne moze menjati za vreme njihovog zivotnog ciklusa.

int niz[50], velicina;
int *niz1;
niz=new int[velicina];

Brisu se sa delete[] niz;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Visedimenzionalna polja u C-u i C++-u

A

Postoje i visedimenizonalna polja, tj matrice.
U statickoj zoni memorije izgledaju kao int matrica[50][50];
U dinamickoj zoni memorije, svaka vrsta je poseban niz. Potreban je niz pokazivaca na vrste, ali i pokazivac na pokazivace na vrste.

int n,m;
int **matrica;
matrica=new int*[n];
for(int i=0;i MANJE n;i++)
	matrica[i]=new int[m];
Dvodimenzionalna polja se brisu iz dinamicke zone memorije
for(int i=0;i MANJE n;i++)
	delete[] matrica[i];
delete[] matrica;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Polja u programskim jezicima Java i C#

A

Polja su u Javi i C#-u uvek smestena u dinamickoj zoni memorije i pristupa im se pomocu reference. Ne moze im se menjati velicina tokom njihovog zivotnog ciklusa, tj. pripadaju statickim strukturama podataka.

Deklaracija Java i C#
Kreiranje.
Nizovi objekata Deklaracija
Nizovi objekata kreiranje
Kreiranje objekata nizova

atribut lenght

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Visedimenzionalna polja u Javi i C#-u

A

Sto se tice visedimenzionalnih polja u Javi, tj matrica, ona se uvek definisu kao nizovi nizova.

Deklaracija
Kreiranje
Kreiranje donje matrice

Sto se tice matrica u C#-u
Deklaracija
Kreiranje
Kreiranje donje matrice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Enumeracije u C-u i C++-u

A
Enumeracije su nabrojivi tip podataka. Promenljiva tipa enumeracije moze uzeti jednu od vrednosti navedenih u definiciji tipa. Enumeracija se moze shvatiti i kao skup celobrojnih simbolikcih konstanti.
Definicija enumeracije !
Ukoliko inicijalizacija konstante nije navedena, podrazumeva se da prva ima vrednost 0, druga 1 itd.
Primer:
enum Dani {Pon,Uto,Sre,Cet,Pet};
enum Dani dan;
C:       dan=Uto;
C++:   dan=Dani.Uto;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Enumeracije u Javi

A

Enumeracije su nabrojivi tip podataka. Promenljiva tipa enumeracije moze uzeti jednu od vrednosti navedenih u definiciji tipa. Enumeracija se moze shvatiti i kao skup celobrojnih simbolickih konstanti.

Enumeracije su u Javi referentni tip podataka.
Definicija ENUMERACIJE!

Tip vrednosti moze biti proizvoljan, ali isti za sve clanove. Primer:
enum Dani {Pon,Uto,Sre}
Dani dan;
dan=Dan.Uto;
Dani[] svi=Dani.values();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Enumeracije u C#-u

A

Enumeracije su u C#-u vrednosni tip podataka
Definicija enumeracije!
public enum Dani{Pon,Uto,Sre};
Dani dan=Dani.Uto;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Strukture u programskom jeziku C i C++

A

Strukture su slozeni tipovi podataka sastavljeni od elemanata razlicitog tipa. Svaki clan strukture ima svoje ime-ime sluzi da se pristupa odredjenom clanu strukture.

Definicjia i primer strukture
Definicija promenljive tipa strukture
Pristup clanovima strukture

Strukture (kao i klase) sluze za predstavljanje objekata u programu. Razlika izmedju struktura i klasa je u podrazumevanom pravu pristupa( za klase privatno, za strukture javno).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Strukture u programskom jeziku C#

A

Strukture su slozeni tipovi podataka sastavljeni od elemenata razlicitog tipa. Svaki clan strukture ima svoje ime koje sluzi da bi tom clanu moglo da se pristupi.

Definicija strukture

Razlika u odnosu na klase je sto su strukture vrednosni tip i ne nasledjuju se. U strukturi se vrednosti atributa ne inicijalizuju( osim ako nisu staticki ili konstantni).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Liste

A

Liste su dinamicke strukture podataka – menjaju svoju velicinu tokom zivotnog ciklusa i veoma su koriscene u funkcionalnim jezicima. Svaki element liste sadrzi info deo-podatak i vezu sa sledecim elementom(pokazivac ili referencu). Elementi mogu da se dodaju i brisu iz liste (na pocetak, na kraj, iza zadatog elementa). Takodje moguc je i obilazak kroz listu.
Liste u Javi i C#-U ne postoje kao ugradjeni tipovi. Bibliotecke klase za predstavljanje listi su u Javi java.util.LinkedList ZAGRADE T, a u C#-u System.Collections.Generic.LinkedList ZAGRADE T

How well did you know this?
1
Not at all
2
3
4
5
Perfectly