Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri
Veri Yapısı: bilginin anlamlı yapıda bellekte veya saklama birimlerinde tutulması şeklini gösterir
Veri Modeli: bir küme içerisindeki verilerin birbiriyle olan ilişkisel veya sırasal durumunu gösterir.
Temel Veri Yapıları: Karakter Tam sayı Gerçek Sayı String Diziler
Tanımlamalı Veri Yapıları enum struct union
enum: enum anahtar sözcüğü bir grup öğeyi sıralayıp, her birine sıra numarası verme işidir. Örnek: enum renkler {siyah,beyaz,mavi,kırmızı} Yukarıdaki deyim içerisindeki dört renge sıra numarası verilir. Özel sıra numarası verilmemiş ise ilk sabite sıfır(0) sıra numarası verilir. Sonrakiler, yazılış sırasına göre 1 er artarak numara alır. siyah=0, beyaz=1,mavi=2,kırmızı=3 olur. enum komutu, bir veri topluluğunun öğelerine istenildiği gibi sıra numarası verebilir. enum renkler {siyah=1,beyaz=3,mavi=5,kırmızı=7} gibi
typedef: typedef komutu derleyiciye yeni bir veri tipi bildirir. Bildirilen tip, derleyiciye gömülü bir tipmiş gibi kullanılabilir. Özel olarak, bilinen bir veri tipine başka Bir ad vermek gerekebilir. Bu typedef komutu ile yapılabilir. Örnek: typedef int tamsayi; ( İnt tipine tamsayi ismi verilmiştir.) Genel olarak aşağıdaki gibi kullanılır: typedef veri_tipi yeni_ad
struct: Farklı veri tiplerini bir araya getiren ve onları bir birim gibi gören veri tipidir. Kullanıcının tanımlı veri tiplerinden yararlanarak yeni bir veri tipi oluşturmasını sağlar. struct personel { char sicilno[11]; char ad[15]; char soyad[15]; double ucret; }; Bu yapıya ait yapı değişkeni : personel prs1; şeklinde tanımlanır. Yapı değişkeninin elemanlarına nokta Operatörü kullanılarak ulaşılır. Örneğin: prs1.ucret gibi..
union: union yapısı struct yapısına benzer. Aralarındaki tek fark, union yapısı için bellekte açılan yere bileşen türlerinden herhangi birisinin yazılıyor olmasıdır. union aynı bellek alanına farklı tipten verilerin yazılmasına imkan sağlar. Bu şekilde ana bellek daha ekonomik kullanılmış olur. Ayrıca union dizisi kurulursa faklı veri tiplerini içeren bir dizi oluşur. Union bildirimi struct bildirimine benzer. union prs { char ch; double d; float f; };
VERİ MODELLERİ Bağlantılı Listeler Yığın ve Kuyruk Yapısı Ağaç veri Modeli Graf veri Modeli Durum Makinaları Veri Modelleri ikinci sınıftaki Veri Yapıları Dersinde etraflı olarak incelenecektir. Bu derste bağlantılı liste modeline giriş yapılacaktır.
Bağlantılı Liste(Linked List) Diziler çok kullanışlı olduğu için her programlama dili tarafından desteklenir. Ancak, dizilerin iki önemli kusuru vardır: 1. Dizinin elemanları ayni veri tipinden olmak zorundadır. 2. Dizi değiştirilemez. Dizilerin birinci kusurunu gidermek için enum, struct, union gibi tipleri tanımlanmıştır. Dizilerin ikinci kusurunu gidermek için de bağlantılı liste yapısı Kullanılabiri.
Bağlantılı Liste(Linked List) Bağlantılı liste, işaretçiler yardımıyla art arda eklenmiş veri yapısından oluşan bir listedir. Dizilerden farklı olarak bağlantılı liste yapısında listenin kaç öğesi olacağını, bildirim anında belirlemek gerekmiyor. Kullanıcı ihtiyaç duyarsa Listeye yeni ekler yaparak listeyi uzatabilir. Ya da gereksiz bileşenleri listeden silerek listeyi kısaltabilir. Ekleme ve silme işlemleri listenin başında sonunda ortasında yapılabilir. Bu şekilde bağlantılı listeler dizi yapısının ikinci kusurunu tamamıyla ortadan kaldırır.
Bağlantılı Liste(Linked List) Bağlantılı liste elemanların kendi değerlerine ek olarak bir de bağlantı bilgisinin Kullanılmasıyla sağlanır. Bu bağlantı bilgisi bir sonraki elemanın adresi niteliğindedir.