C Veri Yapısına Veri Ekleme
C programlama dilinde veri yapıları, verileri düzenli ve verimli bir şekilde saklamak ve yönetmek için kullanılan temel yapılardır. Veri yapılarına veri eklemek, bu yapıları kullanmanın en önemli yönlerinden biridir. Bu makalede, C’de veri yapılarına veri ekleme işlemini ayrıntılı bir şekilde inceleyeceğiz.
Dizilere Veri Ekleme
Diziler, aynı veri türünde birden fazla öğeyi saklayan en basit veri yapısıdır. Bir diziye veri eklemek için, dizinin sonuna yeni bir öğe eklemeniz gerekir. Bu, dizinin son öğesinin adresine erişerek ve yeni öğeyi bu adrese atayarak yapılabilir.
“`c
include
int main() {
int dizi[5];
// Dizinin sonuna 10 değerini ekle
dizi[4] = 10;
// Dizinin içeriğini yazdır
for (int i = 0; i < 5; i++) {
printf("%d ", dizi[i]);
}
return 0;
}
“`
Bağlı Listeye Veri Ekleme
Bağlı listeler, öğeleri birbirine bağlı düğümlerle bağlayan dinamik veri yapılardır. Bir bağlı listeye veri eklemek için, yeni bir düğüm oluşturmanız ve onu mevcut listeye bağlamanız gerekir.
Başına Ekleme: Yeni bir düğümü bağlı listenin başına eklemek için, yeni düğümü listenin baş düğümü olarak ayarlamanız gerekir.
“`c
struct Dugum {
int veri;
struct Dugum *sonraki;
};
struct Dugum basaEkle(struct Dugum bas, int veri) {
struct Dugum yeni = (struct Dugum )malloc(sizeof(struct Dugum));
yeni->veri = veri;
yeni->sonraki = bas;
return yeni;
}
“`
Sonuna Ekleme: Yeni bir düğümü bağlı listenin sonuna eklemek için, mevcut son düğümün sonraki
işaretçisini yeni düğüme ayarlamanız gerekir.
“`c
struct Dugum sonaEkle(struct Dugum bas, int veri) {
struct Dugum yeni = (struct Dugum )malloc(sizeof(struct Dugum));
yeni->veri = veri;
yeni->sonraki = NULL;
if (bas == NULL) {
return yeni;
}
struct Dugum *gecici = bas;
while (gecici->sonraki != NULL) {
gecici = gecici->sonraki;
}
gecici->sonraki = yeni;
return bas;
}
“`
İkili Arama Ağacına Veri Ekleme
İkili arama ağaçları, verileri sıralı bir şekilde saklayan ağaç benzeri veri yapılardır. Bir ikili arama ağacına veri eklemek için, ağacın köküne başlamanız ve yeni öğeyi uygun alt ağaca eklemeniz gerekir.
“`c
struct Dugum {
int veri;
struct Dugum sol;
struct Dugum sag;
};
struct Dugum ekle(struct Dugum kok, int veri) {
if (kok == NULL) {
struct Dugum yeni = (struct Dugum )malloc(sizeof(struct Dugum));
yeni->veri = veri;
yeni->sol = NULL;
yeni->sag = NULL;
return yeni;
}
if (veri < kok->veri) {
kok->sol = ekle(kok->sol, veri);
} else {
kok->sag = ekle(kok->sag, veri);
}
return kok;
}
“`
Yığınlara Veri Ekleme
Yığınlar, öğeleri önceliklerine göre saklayan ağaç benzeri veri yapılardır. Bir yığına veri eklemek için, yeni öğeyi yığının köküne eklemeniz ve ardından yığını yeniden dengelemeniz gerekir.
“`c
struct Dugum {
int veri;
int oncelik;
};
struct Yigin {
struct Dugum *kok;
};
void ekle(struct Yigin yigin, int veri, int oncelik) {
struct Dugum yeni = (struct Dugum *)malloc(sizeof(struct Dugum));
yeni->veri = veri;
yeni->oncelik = oncelik;
if (yigin->kok == NULL) {
yigin->kok = yeni;
return;
}
struct Dugum *gecici = yigin->kok;
struct Dugum *onceki = NULL;
while (gecici != NULL && gecici->oncelik > oncelik) {
onceki = gecici;
gecici = gecici->sag;
}
if (onceki == NULL) {
yeni->sag = yigin->kok;
yigin->kok = yeni;
} else {
yeni->sag = onceki->sag;
onceki->sag = yeni;
}
yenidenDengele(yigin);
}
“`
Faydalı Kaynaklar
Önemli Not: Bu yazı Google Gemini yapay zekası tarafından otomatik olarak oluşturulmuştur ve hatalı bilgiler içerebilir. Düzeltmek için iletişim sayfamızdaki formdan veya yine iletişim sayfamızda bulunan eposta adresi yoluyla bizimle iletişime geçebilirsiniz. Hata varsa hemen düzeltilmektedir.