Veri Yapıları Veri, her türlü değer demektir. Veri yapılarının tasarlanma ve oluşturulma amacı; “verinin işlenmesini kolaylaştırmak ve bu işlemi daha verimli hale getirmek”tir ve verinin bellekte saklanma şeklini ve düzenini belirler[3].
Ana bellek, programların ve verilerin kullanıldıkları zaman geçici olarak depolandıkları yerdir[2]. Program tasarlarken, makinanın iç yapısının organizasyonuna göre değil probleme cevap veren soyut bir yapıya göre düşünmek gerekir[1].
Diziler Dizi, aynı adı taşıyan ve aynı tür olan bir grup bellek yerine verilen addır[4]. Tek boyutlu ve çok boyutlu olabilirler. Önemli bir özelliği zaman içinde boyutunun sabit kalmasıdır
Tek Boyutlu Diziler Elemanlar ard arda eklenmiştir. var sayi: array [1..10] of integer; i,toplam:integer; begin for i := 1 to 10 do begin clrscr; write('Bir sayı giriniz.');read(sayi[i]); toplam:=toplam+sayi[i]; end; clrscr; writeln(toplam:3:0); end. i[1]i[2]i[3]i[4]i[5]i[6]i[7]i[8]i[9]i[10] readings indeks
Tek boyutlu diziler ard arda dizildiği için belleğe eşlenmesi kolaydır. İlk elemanın yerinin bilinmesi ile diğer elemanların yeri kolayca bulunabilir Hazıfa adresleri Reading(3) ?6+(3-1) = 8
Çok Boyutlu Diziler İki boyutlu dizilerde her satırda eşit sayıda sütun bulunur. i[1,1]i[1,2] i[2,1]i[2,2] i[3,1]i[3,2] i[4,1]i[4,2] i[5,1]i[5,2] var ogrenci: array [1..5] of array [1..2] of integer; i,j,toplam:integer; begin for i := 1 to 5 do begin clrscr; write('Birinci notu giriniz.');read(ogrenci[i,1]); write('İkinci notu giriniz.');read(ogrenci[i,2]); end; clrscr; for j := 1 to 5 do begin write(j,'. öğrencinin ortalaması=',(ogrenci[j,1]+ogrenci[j,2])/2:3:0); end; end.
K = Her satırdaki eleman sayısı i = Satır numarası j = istenilen eleman Adres = K * (i-1) + (j-1) Adres Polinomu Satır esaslı saklama
Satır esaslı adresleme Sütun esaslı adresleme
Listeler- imleçler Dizilerin boyutları sabittir. Zamanla değişmez. Dinamik ver yapılarında boyut ve şekil zaman içinde değişir. Verinin adresini saklayan hücreye imleç (pointer) denir.