Veri yapılarının önemli konularından biriside kuyruk veri yapısıdır.Kuyruk veri yapısı adındanda anlaşılacağı üzere ilk giren ilk çıkar yani FIFO mantığıyla çalışır.Burda herbir eleman için bir Node (düğüm) oluşturarak Class yapısının içinde kullandım ve her elemanı önce ittim kuyruğa (ENQUEUE) sonra da çektim kuyruktan DEQUEUE.Şimdi Bunun gerçeklemesini görelim..

Burda Kuyruğa önce 19 tane eleman ittik sonra 10 tane eleman çektik dolayısıyla ilk eklediğimiz 10 tane ilk çıktı.

#include<iostream>
using namespace std;

class Node {
           public:
           Node();
     
           int data;
           Node *NEXT;
           };
          
  Node::Node()
  {
       this->data=0;                  
       this->NEXT=NULL;      
  }        
 
class queue {
            public:
                   queue();
                   void enqueue(int);
                   void dequeue(int);
                   void print()const;
           
            private:
            Node *front;
            Node *rear;
            int counter;
            }; 
           
           
   queue::queue()
   {
      this->front=NULL;                        
      this->rear=NULL;          
      this->counter=0;          
   }        
  
   void queue::enqueue(int A)
   {
        Node *p=new Node;
        p->data=A;
                  if(front==NULL)
                  {
                       front=p;                        
                       rear=p;         
                       front->NEXT=NULL;        
                  }
        else
            {
                rear->NEXT=p;       
                rear=p; 
                rear->NEXT=NULL;
            }
        counter++;
       
   }
  
   void queue::dequeue(int A)
   {
      Node *p1;      
      p1=front; 
      front=front->NEXT;
      cout<<“silinen eleman”<<p1->data<<”  “<<endl;
      delete p1;
      counter–; 
   }
  
   void queue::print()const
   {
      Node *p1;      
      p1=front; 
               while(p1->NEXT!=NULL)
               {
                    cout<<p1->data<<”  “;                                   
                    p1=p1->NEXT;              
               }  
        cout<<endl;
   }

   main()
   {
        queue T;
        for(int i=0;i<20;i++)
        T.enqueue(i);
        T.print();
        for(int j=0;j<10;j++)
        T.dequeue(j);
        T.print();
   system (“pause”);     
   }

MEHMET SALİH DEVECİ

BİLGİSAYAR MÜHENDİSİ YAZILIM UZMANI

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s