Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü dağıtık sistemler ders notlarım.

Çift Yönlü Bağlı Liste

//2.Bölüm-Çift Yönlü Bağlı Listeler
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct ciftYonluEleman
{
int icerik;
struct ciftYonluEleman *ileri;
struct ciftYonluEleman *geri;
};

struct ciftYonluListe
{
struct ciftYonluEleman *bas;
struct ciftYonluEleman *son;
};

struct ciftYonluEleman *elemanOlustur(int icerik)
{
struct ciftYonluEleman *yeni;
yeni=(struct ciftYonluEleman *)malloc( sizeof(struct ciftYonluEleman) );
if(yeni==NULL)
{
printf("Hata...");
exit(1);
}
yeni->icerik=icerik;
yeni->geri=yeni->ileri=NULL;
return yeni;
}

void ciftYonluDiziBaslat(struct ciftYonluListe **liste)
{
*liste=(struct ciftYonluListe *)malloc( sizeof(struct ciftYonluListe) );
if(*liste==NULL)
{
printf("Hata...");
exit(1);
}
(*liste)->bas=(*liste)->son=NULL;
}

void liste_basina_ekle(int icerik,struct ciftYonluListe *liste)
{
struct ciftYonluEleman *yeni;
yeni=elemanOlustur(icerik);
if(liste->son==NULL)
{
liste->son=yeni;
}
else
{
liste->bas->geri=yeni;
yeni->ileri=liste->bas;
}
liste->bas=yeni;
}

void liste_sonuna_ekle(int icerik,struct ciftYonluListe *liste)
{
struct ciftYonluEleman *yeni;
yeni=elemanOlustur(icerik);
if(liste->bas==NULL)
liste->bas=yeni;
else
{
liste->son->ileri=yeni;
yeni->geri=liste->son;
}
liste->son=yeni;
}

void listeYazdir(struct ciftYonluListe *liste)
{
struct ciftYonluEleman *bas=liste->bas;
while(bas!=NULL)
{
printf("%4d",bas->icerik);
bas=bas->ileri;
}
printf("\n");
}

void listeSondanYazdir(struct ciftYonluListe *liste)
{
struct ciftYonluEleman *son=liste->son;
while(son!=NULL)
{
printf("%4d",son->icerik);
son=son->geri;
}
printf("\n");
}

int main()
{
struct ciftYonluListe *liste;
ciftYonluDiziBaslat(&liste);

liste_basina_ekle(10,liste);
liste_basina_ekle(15,liste);

liste_sonuna_ekle(32,liste);
liste_sonuna_ekle(45,liste);
listeYazdir(liste); //15 10 32 45
listeSondanYazdir(liste); //45 32 10 15

getch();
return 0;
}


Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü dağıtık sistemler ders notlarım.

Tek Yönlü Bağlı Liste

//1.Bölüm-Tek Yönlü Bağlı Listeler
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct hucre
{
int icerik;
struct hucre *sonraki;
};

struct hucre *hucre_olustur(int icerik)
{
struct hucre *a;
a=(struct hucre *)malloc( sizeof(struct hucre) );
if(a==NULL)
{
printf("Yer ayrilamadi...");
exit(1);
}
a->icerik=icerik;
a->sonraki=NULL;
}

void liste_basina_ekle(int icerik,struct hucre **liste_basi)
{
struct hucre *a=hucre_olustur(icerik);
a->sonraki=*liste_basi;
*liste_basi=a;
}

void liste_sonuna_ekle(int icerik,struct hucre **liste_basi)
{
struct hucre *a=hucre_olustur(icerik);
if(*liste_basi==NULL)
{
a->sonraki=*liste_basi;
*liste_basi=a;
}
else
{
struct hucre *x=*liste_basi;
while(x->sonraki!=NULL)
{
x=x->sonraki;
}
x->sonraki=a;
}
}

void liste_sirali_ekle(int icerik,struct hucre **liste_basi)
{
struct hucre *a,*b,*eklenen;
b=*liste_basi;
while(b!=NULL && b->icerik <= icerik)
{
if(b->icerik==icerik) //Aynı iki değer listeye eklenmemektedir.
return;
a=b;
b=b->sonraki;
}
eklenen=hucre_olustur(icerik);
if(b==*liste_basi)
{
eklenen->sonraki=*liste_basi;
*liste_basi=eklenen;
}
else
{
a->sonraki=eklenen;
eklenen->sonraki=b;
}
}

void liste_yaz(struct hucre *liste_basi)
{
while(liste_basi!=NULL)
{
printf("%4d ",liste_basi->icerik);
liste_basi=liste_basi->sonraki;
}
printf("\n");
}

void liste_yaz_recursive(struct hucre *liste_basi)
{
if(liste_basi!=NULL)
{
printf("%4d ",liste_basi->icerik);
liste_yaz_recursive(liste_basi->sonraki);
}
else
printf("\n");
}

void tersten_liste_yaz_recursive(struct hucre *liste_basi)
{
if(liste_basi!=NULL)
{
tersten_liste_yaz_recursive(liste_basi->sonraki);
printf("%4d ",liste_basi->icerik);
}
else
printf("\n");
}

void liste_sirala(struct hucre **liste_basi)
{
struct hucre *a,*b,*c,*d;
if(*liste_basi==NULL || (*liste_basi)->sonraki==NULL )
return;
d=(*liste_basi)->sonraki;
(*liste_basi)->sonraki=NULL;
while(d!=NULL)
{
c=d;
d=d->sonraki;
b=*liste_basi;
while(b!=NULL && b->icerik < c->icerik)
{
a=b;
b=b->sonraki;
}
if(b==*liste_basi)
{
c->sonraki=*liste_basi;
*liste_basi=c;
}
else
{
a->sonraki=c;
c->sonraki=b;
}
}
}

void liste_ters_cevir(struct hucre **liste_basi)
{
struct hucre *a,*b;
a=NULL;
while(*liste_basi!=NULL)
{
b=*liste_basi;
*liste_basi=(*liste_basi)->sonraki;
b->sonraki=a;
a=b;
}
*liste_basi=a;
}

void liste_eleman_sil(int silinen,struct hucre **liste_basi)
{
struct hucre *temp=*liste_basi;
struct hucre *once;
while(temp!=NULL && temp->icerik!=silinen)
{
once=temp;
temp=temp->sonraki;
}
if(temp==NULL)
return;
else
{
if(temp==*liste_basi)
*liste_basi=(*liste_basi)->sonraki;
else
once->sonraki=temp->sonraki;
free(temp);
}
}

void liste_yoket(struct hucre **liste_basi)
{
struct hucre *simdiki;
while(*liste_basi!=NULL)
{
simdiki=(*liste_basi);
*liste_basi=(*liste_basi)->sonraki;
free(simdiki);
}
}

int main()
{
struct hucre *liste1=NULL;
liste_basina_ekle(10,&liste1);
liste_basina_ekle(15,&liste1);
liste_sonuna_ekle(32,&liste1);
liste_sonuna_ekle(45,&liste1);

liste_sirali_ekle(12,&liste1); //12 15 10 32 45

liste_yaz(liste1);

//liste_yaz(liste1); // 12 15 10 32 45
//liste_yaz_recursive(liste1); // 12 15 10 32 45
//tersten_liste_yaz_recursive(liste1); // 45 32 10 15 12

//liste_eleman_sil(45,&liste1);
        //liste_yoket(&liste1);

//liste_sirala(&liste1);
//liste_yaz(liste1); //10 12 15 32 45

//liste_ters_cevir(&liste1);
//liste_yaz(liste1); //45 32 10 15 12

getch();
return 0;
}

Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü ders notlarım.



Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü ders notlarım.

Web tasarım dersteki kodlar.



Çanakkale Onsekiz Mart Üniversitesi Bilgisayar Mühendisliği Bölümü ders notlarım.

Web tasarım ders notları.