• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

binary tree(ikili ağaç) veri yapısı uygulaması

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
Kod:
#include <stdio.h>
#include <stdlib.h>
typedef struct agac{
    struct agac *sag, *sol;
    int veri;
}agac;
agac* ekle(int veri, agac *klm){
    if (!klm){
        klm = (agac*)malloc(sizeof(agac));
        klm->veri = veri;
        klm->sag = NULL;
        klm->sol = NULL;
        return klm;
    }
    else{
        if (veri>klm->veri){
            klm->sag = ekle(veri, klm->sag);
        }
        else if (veri<klm->veri){
            klm->sol = ekle(veri, klm->sol);
        }
    }
    return klm;
}
agac* bul(agac *slm,int veri){
    if (veri == slm->veri)return slm;
    else if (veri == slm->sag->veri)return slm->sag;
    else if (veri == slm->sol->veri)return slm->sol;
    else return NULL;
    bul(slm->sag, veri);
    bul(slm->sol, veri);
}
**** bastir(agac *klm){
    if (!klm)return;
    printf("%d %p %p\n", klm->veri, klm->sag, klm->sol);
    bastir(klm->sag);
    bastir(klm->sol);
}
int main(){
    agac *klm = NULL;
    for (int i = 0; i <= 5; i++){
        klm = ekle(i + 1, klm);
    }
    bastir(klm);
    printf("\n\n");
    printf("%d %p %p\n", bul(klm, 1)->veri, bul(klm, 1)->sol, bul(klm, 1)->sag);
    getchar();
}
 
Üst