2. Aurkezpena
1 Zer eta zertarako?
2 Zerrenda estatikoak
3 Zerrenda dinamikoa
4 Ilarak
5 Pilak
3. Aurkezpena
1 Zer eta zertarako?
2 Zerrenda estatikoak
3 Zerrenda dinamikoa
4 Ilarak
5 Pilak
4. Zer dira zerrendak?
Honako ezaugarriak dituen dituzten
datu egitura linealak dira:
Mota jakin bateko edozein datu
kopurua gorde ditzakete
Datuen ordena garrantzia du
Ez da gauza bera (3,2,1) eta (1,2,3)
Elementuak errepikatu ahal dira
(3,4,3,2,1,4)
5. Zertarako behar ditugu?
Supermerkatuan erosi beharrekoak gogoratzeko, klasera
nortzuk etortzen zareten jakiteko eta kontutan hartzeko edo,
noski, ”olentzerori” opariak eskatzeko...
7. Aurkezpena
1 Zer eta zertarako?
2 Zerrenda estatikoak
3 Zerrenda dinamikoa
4 Ilarak
5 Pilak
8. Zerrenda estatikoa (I)
Arrayak edo bektoreak
Alde
Sarbide zuzena elementu batera ailegatzeko bere posizioa
jakinda
Kontra
Askoz jota izango duen tamaina ezagutu behar dugu aldez
aurretik (konpilatzerako orduan)
Elementu berriak sartzerakoan edo zerrendako elementuak
kentzerakoan gainontzekoak desplazatu beharko dira
(exekuzio denbora gora egiten du)
Alferrik galdutako memoria zerrenda txikietan
9. Zerrenda estatikoa (II)
Lotura inplizitoko zerrendak
1. elementua 1. posizioan, 2. elementua 2.posizioan, etab.
Memorian elementuak bata bestearen atzean daude
(jarraian)
Horrela gordetzen delako bektore bat memorian
12. Zerrenda estatikoa: set eta get
zerrendaEstatikoa.get(3); => “Bego”
zerrendaEstatikoa.set(2, “Bego”);
13. Zerrenda estatikoa: remove eta clear
zerrendaEstatikoa.remove();
zerrendaEstatikoa.remove(2);
zerrendaEstatikoa.clear();
14. Aurkezpena
1 Zer eta zertarako?
2 Zerrenda estatikoak
3 Zerrenda dinamikoa
4 Ilarak
5 Pilak
15. Zerrenda dinamikoa
Loturadun zerrenda edo zerrenda kateatua.
Zerrendaren posizio bakoitzak ”Nodo” izeneko objektua du.
Nodo bakoitzak honako osagaiak ditu:
Gorde nahi den elementua.
Zerrendaren hurrengo nodoarekin lotura.
azkenengoa null bat du.
19. Zerrenda dinamikoa: add(objektua) III
zerrendaDinamikoa.add(“Mikel”);
1 Nodo berria sortu
2 Azkenengo
nodoa lortu
3 Azkenengo
nodoa berriarekin
lotu
21. Zerrenda dinamikoa: add(pos, objektua) II
zerrendaDinamikoa.add(2, “Bego”);
1 Nodo berria sortu
2 Sartu nahi
posizioko
nodoaren
aurrean dagoen
nodoa lortu
22. Zerrenda dinamikoa: add(pos, objektua) III
zerrendaDinamikoa.add(2, “Bego”);
1 Nodo berria sortu
2 Sartu nahi
posizioko
nodoaren
aurrean dagoen
nodoa lortu
3 Nodo berria
aurrekoaren
hurrengoarekin
lotu
23. Zerrenda dinamikoa: add(pos, objektua) IV
zerrendaDinamikoa.add(2, “Bego”);
1 Nodo berria sortu
2 Sartu nahi
posizioko
nodoaren
aurrean dagoen
nodoa lortu
3 Nodo berria
aurrekoaren
hurrengoarekin
lotu
4 Aurreko nodoa
berriarekin lotu
31. Zerrenda dinamikoa: remove(pos) II
zerrendaDinamikoa.remove(1);
1 Kendu nahi den
nodoaren
aurrean dagoen
nodorarte joan
2 Bere hurrengoa
hurrengoaren
nodoaren
hurrengora
gainidatzi
32. Zerrenda dinamikoa: iterator
zerrendaDinamikoa.initializeIterator();
Ibilbidea hasieratzen du aldagai bat lehenengo nodoarekin
lotuz
zerrendaEstatikoa.getElement()
1 Elementua
bueltatu
2 Hurrengo nodora
apuntatu
zerrendaEstatikoa.hasNext();
Ibilbidea jarraitu ahal da?
33. Aurkezpena
1 Zer eta zertarako?
2 Zerrenda estatikoak
3 Zerrenda dinamikoa
4 Ilarak
5 Pilak
34. Zer dira ilarak?
FIFO (First Input First Output) motako egitura
Elementu berriak bukaeratik sartzen dira
Ilarako elementuak hasieratik ateratzen dira
Ikusi javako Queue klasea
35. Zertarako behar ditugu ilarak?
Ilarak bizitzako leku askotan ikusi
ditzakegu:
Gasolindegian
Ileapaindegian
Supermerkatuan
etab.
Informatikan?
Serbitzarietan bezeroei
erantzuteko
Prozezuen arteko
koordinazioan
etab.
36. Ilara dinamikoak
Bi atributu ditu
Lehenengo nodoa
Azkenengo nodoa
37. Ilarak: metodoak
add(objektua)
edo put(objektua)
remove()
peek()
poll()
edo get()
peek() + remove()
38. Aurkezpena
1 Zer eta zertarako?
2 Zerrenda estatikoak
3 Zerrenda dinamikoa
4 Ilarak
5 Pilak
39. Zer dira pilak?
LIFO (Last Input First Output) motako egitura
Eragiketak mutur jakin batean (goian) dagoen
elementuarekin egiten dira
Bakarrik goian dagoen elementua
berreskuratu dezakegu!
Ikusi javako Stack klasea
40. Zertarako behar ditugu pilak?
Liburu pila, plater pila, karta pila,
etab.
Informatikan?
Espresio ebaluazioa eta parseo
sintaktikoa
Memoria kudeaketa
41. Pila dinamikoak
Atributu bakarra edukiko du: lehenengo nodoa
42. Pilak: metodoak
push(objektua)
edo add(objektua) edo pilatu(objektua)
pop()
peek()
ez du nodoa ezabatzen
43. Lizentzia
Irudien guztien jabetza intelektuala bere egileena* da,
gainontzeko edukiak Creative Commons by-sa 3.0
lizentziapean daude.
* darrentunnicliff, plindberg, venusdale, thowi, chatraye eta yyycatch.