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