C linked list implementation

  Linked List (Bagli Liste), temel veri yapilarindan bir tanesidir. Hemen hemen tum veri yapilari, listeler kullanilarak olusturulabilir. LISP ve turevi dillerin isleyis semasini olusturur. Bu sebeplerden dolayi oldukca onemlidirler. 

  Linked List, Node adi verilen ve icerisinde veri alani ve kendisinden sonraki Node degiskenini gosteren Node tipinde bir pointer barindiran yapilardan olusur. Bu yapilar C dilinde struct olarak tanimlanirlar.

struct Node 

{ 
   int elem;  
   struct Node *next;
};

  elem, Node icerisinde saklanacak veriyi tutar. Bu ornekte integer olarak secildiginden dolayi listenin tipinin de integer olacagi anlasiliyor. next adindaki degisken ise bir sonraki Node degiskeni ile bag kurmaya yarayan pointerdir.

  Tum listenin sadece en basindaki Node degiskenini tutarak liste uzerinde ileriye dogru hareket edebilmek mumkundur. Bu islemi yaparken her Node degiskeninin next adindaki pointeri kullanilir. Listenin bittigini anlamak icin en sonra Node degiskeninin next pointeri NULL degerini gosterir.

  Bizim ornegimizde ilk Node degiskenini gosteren degiskenimize head adini verecegiz. head degiskenini ve listenin eleman sayisini iceren bir struct tanimlayarak tum islemlerimizi bu struct vasitasi ile yapacagiz.

struct List

{
  struct Node *head;  
  int size 
};

git

Popular posts from this blog

Polya’nın Problem Çözme Teknikleri

Mikroislemci Temelleri