Genel Bilgi|  Program Kontrol|  Fonksiyonlar|  Arrayler |  Pointerlar |  Link List |  String| Structurelar |  Input/Output| Yeni Baslayanlar |  Email|

TurkceC yi Ara
  
Genel Bilgi
Tek Gonderim Yapilari
Dinamik Hafiza Ayirma
Link List
Stackler
Queues
Trees Calismasi

LINK LIST
Link List pointer linklerce birlestirilmis ve nodelar diye bilinen tek gonderim yapilarinin toplulugudur. Bir link listde yer alan listenin ilk noduna giris bir pointer araciligi ile yapilir.Takip eden nodelara giris ise her bir nodeda sakli bulunan pointer baglanti uyesi araciligi ile gerceklestirilir. Ayrica, listenin sonunu belirtebilmek icin pointer baglantida ki en son nod NULL a kurulur.Bir nod diger structlari(yapilari) iceren herhangi bir data turunu kapsayabilir. Stackler ve Queuelar da bir cizgisel data yapilaridir.Ama treeler(agaclar) cizgisel olmayan yapilardir. Datalarin listeleri arrayler icinde muhafaza edilebilir ama baglanmis listeler bir cok avantaj saglarlar.Bu nedenle data listelerini arraylerde saklamaktansa linked listlerde muhafaza etmek daha dogrudur. Baglanmis listeler dinamik olduklari icin programda istendigi zaman artirilabilir veya azantilabilirler. Ama arraylerin buyuklukleri program icinde degistirlimeleri mumkun degildir.Baglanmis listeler yeni elemanlari listede uygun bir yere ekleyerek duzgun bir sekilde kazanilabilirler ama bu durum arraylerde mumkun degildir.
Assagida uzerinde duracagimiz program bir cok nod kullanilmis bagli listeleri nasil kullanacagimizi acik bir sekilde gostermektedir. Burada bir listeye bilgi ekleme, cikarma ve listenin bos olup olmadigini kontrol edecegiz.Programda yer olanBos fonksiyonu programi herhangi bir seklide degistirmeyecektir. Yapacagi gorev sadece listenin bos olup olmadigini belirtmektir. Liste bos ise geriye donus deger 1, degilse 0 dir.Fonksiyon ListeYaz listede ki bilgileri yazacaktir.
Hadi bakalim programi yavas yavas yazalim.DIKKAT Ben bu programi derlemedim ve internet ortamina aktarirken hata yapmis olabilirim.

/*Bir liste kazanma*/

#include <stdio.h>

#include <stdlib.h>

struct  listNode {

                   char data;

                   struct listNode *sonraki;

 };

typedef struct listNode LISTNODE;

typedef LISTNODE *LISTNODEPTR;

void Ekle(LISTNODEPTR *, char);

char Sil(LISTNODEPTR *, char);

 int Bos(LISTNODEPTR);

 void ListeYaz(LISTNODEPTR);

 void Yonergeler(void);  /*menude ki kullanici tesvikleri*/

 main()

{

    LISTNODEPTR  baslat = NULL;

    int secenek;

    char madde;

    Yonergeler();  /*Menuyu goruntule*/

    printf(" ? "); /*yazimdan emin olma*/

    scanf("%d", &secenek);

     while(secenek != 3)       /*  !=  degilse demektir*/

      {

           switch(secenek)

           {

              case 1:

                          printf("Bir karakter gir: ");

                          scanf("\n%c", &madde);

                          Ekle(&baslat, madde);

                          ListeYaz(baslat);

                          break;

             case 2:

                       if(!Bos(baslat))

                       {

                           printf("Silmek icin bir karakter gir :");

                           scanf("\n%c", &madde);

                           if(Sil(&baslat, madde))

                            {

                               printf("%c silindi.\n", madde);

                               ListeYaz(baslat);

                            }

                            else

                                  printf("%c bulunmadi.\n\n", madde);

                       }/*ilk if bitis*/

                       else

                           printf("Liste Bos.\n\n");

                      break;

                      default:

                                printf("Gecersiz Secenek.\n\n");

                                Yonergeler();

                                break;

                  }

                 printf("?");

                 scanf("%d", &secenek);

            }

      printf("Program Sonu.\n");

      return (0);

 }

Programin Devami Icin Tiklayin
Anket
Sitemizi Nasil Buldunuz?
  Cok Faydali
  Eksikleri var
  idare eder
  Ilerde Cok daha iyi olacak
  Berbat
  Cok kotu

isupper, islower, toupper, tolower kullanimi eklendi.25 Ocak Saat 08:15 am


String deger degistirme fonksiyonlari eklendi.25 Ocak Saat 09:00 am



atof, atoi, atol kullanimi eklendi.25 Ocak Saat 09:15 am