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

QUEUELAR
Diger yaygin bir yapi turu de queuedur.Queue bir markette ki kuyruk sirasi gibidir. Sirada ki ilk kisi digerlerinden once hizmet edilir daha sonra kiler de siralarini beklerler.Queue nodlari sadece kuyrugun basindan silinirler ve tail olarak bilinen kuyruktan ekleme yapilir.Bu nedenle queue first-in, first-out(FIFO)(ilk giren ilk cikar) olarak bilinir.Diger taraftanda ekleme ve cikarma islemleri enqueue(ekleme) ve dequeue(cikarma) olarak bilinirler.
Queuelarin bilgisayar sisteminde bir cok egilimleri vardir.Cogu bilgisayarlar sadece bir tek prosesoru vardir bu nedenle sadece bir kullanici her bir seferde hizmet edilir.Diger kullanicilar icin girisler kuyrukta beklemeye alinir.Kuyrugun basinda ki kullanici bir sonra ki hizmete sahiptir.
Simdide daha once ki stack ve link list bolumumuzde yapmis oldugumuz programi burada queue kullanarak ekleme ve cikarma islemlerini yapalim.

/*Bir queue islemi ve kazanimi*/

#include <stdio.h>

#include <stdlib.h>

strcut queueNode{

                  char data;

                  struct queueNode *sonraki;

  };

typedef struct queueNode QUEUENODE;

typedef QUEUEUNODE *QUEUENODEPTR;

/*Fonksiyonlar*/

void Yaz(QUEUEUNODEPTR);

int Bos(QUEUENODEPTR);

char Cikar(QUEUENODEPTR *, QUEUENODEPTR *);

void Ekle(QUEUENODEPTR *, QUEUENODEPTR *, char);

void Yonergeler(void);

main()

{

   QUEUENODEPTR bas = NULL, kuyruk = NULL;

   int secenek;

   char madde;

   Yonergeler();

  printf(" ?");

 scanf("%d", &secenek);

 while(secenek != 3)

 {

    switch(secenek)

    {

      case 1:

               printf("Bir karakter giriniz: ");

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

               Ekle(&bas, &kuyruk, madde);

              Yaz(bas);

              break;

     case 2:

               if(!Bos(bas))

               {

                 madde = Cikar(&bas, &kuyruk);

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

              }

              Yaz(bas);

              break;

     default:

               printf("Gecersiz Secenek\n");

              Yonergeler();

              break;

  }

  printf("?");

  scanf("%d", &secenek);

 }

printf("Programin 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