Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir.

Benzer bir sunumlar


... konulu sunumlar: "P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir."— Sunum transkripti:

1 p p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir. Bağlı Liste VeriYapilarindaki Islemler 4. BOLUM Data Yapilari ve Diger Nesneler

2 p p Liste üzerindeki her bir elemanin gosterimi asagidaki gibidir data link 10 data link 15 data link 7 null public class IntNode { private int data; private IntNode link;... } Tanımlamalar

3 data link 7 p p Her elemanin veri kismi bir int dir. (private int data;) link null public class IntNode { private int data; private IntNode link;... } data link 15 Listedeki Tiplerin Tanımlamaları data 10

4 p p Listede link olarak isimlendirilen ve bir sonraki eleman ile baglantiyi saglayan yapi bulunmaktadir. data 15 data 7 public class IntNode { private int data; private IntNode link;... } Listedeki Tiplerin Tanimlamalari data 10 link null link

5 Listedeki Tiplerin Tanimlamalari p. p Liste uzerindeki islemleri kolaylastirmak icin listenin ilk elemanini gosteren bir degisken tanimlanir ve bu degisken head(bas) olarak isimlendirilir. p listenin bir elemani degil, listenin ilk elemanina. p head listenin bir elemani degil, listenin ilk elemanina bir referanstir(gonderme). data link 10 data link 15 data link 7 null head

6 Listedeki Tiplerin Tanimlamalari p p head olarak isimlendirilmis degisken sayesinde ilk eleman belirlenmis olur. p listenin bir elemani degil, listenin ilk elemanina. p head listenin bir elemani degil, listenin ilk elemanina bir referanstir(gonderme). p, head null olarak gosterilir. p Liste bos ise, head null olarak gosterilir. head null

7 Listenin basina bir eleman eklemek Asagida gosterilen listenin basina 13 elemanini eklemek istiyoruz null head

8 Listenin basina bir eleman eklemek ¶. ¶Yeni bir eleman olusturun null head

9 Listenin basina bir eleman eklemek ¶. ¶Yeni bir eleman olusturun. ·. ·Elemanin veri kismini doldurun null head 13

10 Listenin basina bir eleman eklemek null head 13 ¶. ¶Yeni bir eleman olusturun. ·. ·Elemanin veri kismini doldurun. Ž. ŽYeni elemani listenin ilk elemanina baglayin.

11 Listenin basina bir eleman eklemek null head 13 ¶Yeni bir eleman olusturun. ·Elemanin veri kismini doldurun. ŽYeni elemani listenin ilk elemanina baglayin. ¹head degiskenini yeni elemana isaret edecek sekilde degistirin.

12 Listenin basina bir eleman eklemek null head 13 head = new IntNode(13, head);

13 public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek

14 public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek Sizce bu kod duzgun calisir mi?

15 public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head degiskeninin nul l olup asagidaki islemi yaptigimizi farzedin head = new IntNode(13, head); head null

16 public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head null head = new IntNode(13, head); 13 null

17 public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head 13 null head = new IntNode(13, head);

18 public IntNode(int initialData, IntNode initialLink) { data = initialEntry; link = initialLink; } Listenin basina bir eleman eklemek head 13 null Islem gerceklestirilidiginde liste 13 degerini iceren yeni bir elemana sahip olacaktir head = new IntNode(13, head);

19 Uyari! p, ayni islemi p Ekleme isleminin dogrulugunu kontrol etmek icin, ayni islemi bos bir liste uzerinde yapin. EMPTY LIST

20 Eleman ekleme islemini gosteren kod ornekleri p, diger kisimlarina eklenir p Yeni elemanlar genelde listenin basina degil, diger kisimlarina eklenir.

21 Eleman ekleme islemini gosteren kod ornekleri ¶ ¶Eger yeni eleman listenin basina eklenecekse bu islem bir kerede gerceklestirilebilir. head = new IntNode(newEntry, head);

22 Eleman ekleme islemini gosteren kod ornekleri ·Eger degilse pprevious(onceki) diye adlandirilan ve elemanin eklenecegi yerden bir onceki elemani gosteren bir degisken olusturun.

23 Eleman ekleme islemini gosteren kod ornekleri null head Bu ornekte eklenen eleman 2. eleman olacaktir. Bu ornekte eklenen eleman 2. eleman olacaktir. previous

24 Eleman ekleme islemini gosteren kod ornekleri null head Bu linkin ismi nedir? previous ile 2. elemani baglayan linke dikkat edin previous ile 2. elemani baglayan linke dikkat edin previous

25 Eleman ekleme islemini gosteren kod ornekleri null head Bu linke previous linki denir Bu linke previous linki denir previous link previous

26 Eleman ekleme islemini gosteren kod ornekleri null head ËListenin diger bolumlerine eleman eklerken pYeni elemanin eklenecegi yerden bir onceki elemani gosteren ve previous(onceki) olarak adlandirilan bir link olusturun previous linki bu ornekte10 ve 7 elemanlarindan olusan listenin basini gosterir. previous linki bu ornekte10 ve 7 elemanlarindan olusan listenin basini gosterir. previous

27 Eleman ekleme islemini gosteren kod ornekleri null head ·Listenin diger bolumlerine eleman eklerken pYeni elemanin eklenecegi yerden bir onceki elemani gosteren ve previous(onceki) olarak adlandirilan bir link olusturun Yeni elemani listenin basina ekleyecegiz. Yeni elemani listenin basina ekleyecegiz. 13 Bu ekleme islemini yapacak Java kodu yazin. previous

28 Eleman ekleme islemini gosteren kod ornekleri null head. ·Ekleme islemi ile ilgili kod parcalari asagida gorunmektedir. 13. Ekleme islemini yapacak Java kodu uzerinde dusunun. previous previous.link = new IntNode(newEntry, previous.link);

29 Eleman ekleme islemini gosteren kod ornekleri ¶,. ¶Eger eklenecek eleman ilk eleman ise, butun islem bir satirda yapilabilir. head = new IntNode(newEntry, head);, · Eger degilse,. pEklenecek elemanin yerinden bir onceki elemani gosteren previous(onceki) isimli bir link olusturun.. pKod asagida gorunmektedir. previous.link = new IntNode(newEntry, previous.link);

30 Eleman ekleme islemini gosteren kod ornekleri p Bir listenin tam ortasina yeni eleman ekleme islemi daha kolay bir sekilde bir fonksiyon ile yerine getirilebilir. Bu fonksiyon addNodeAfter olarak isimlendirilmistir ve kitapta 4.2 ve 4.3 bolumlerinde anlatilmistir. olarak isimlendirilmistir ve kitapta 4.2 ve 4.3 bolumlerinde anlatilmistir.

31 Listeden eleman cikarma p. p IntNodes olarak isimlendirilen elemanlar listeden cikarilmak da istenilebilir. p, cikarma isleminde de listenin basindan ve diger yerlerinden cikarmak icin ayri metodlar vardir. p Ekleme islemlerinde oldugu gibi, cikarma isleminde de listenin basindan ve diger yerlerinden cikarmak icin ayri metodlar vardir.

32 Listeden ilk elemani cikarma null head 13 head = head.link; Yukaridaki esitlemenin listede yapacagi degisikligi cizebilir misiniz ?

33 Listeden ilk elemani cikarma null head 13 head = head.link;

34 Listeden ilk elemani cikarma head = head.link; null head 13

35 Listeden ilk elemani cikarma Ilk eleman cikarildiktan sonra listenin son hali asagida gosterilmistir null head

36 p. p Bir listeye ilk eleman eklemek ya da listedenin ilk elemanini cikarmak cok kolaydir. p. p Listenin diger yerlerine yapilan ekleme ve cikarmalar icin farkli teknikler gerekir. Ozet


"P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir." indir ppt

Benzer bir sunumlar


Google Reklamları