|
QUEUELAR
void Yonergeler(void)
{
printf("Bir secenek giriniz :"
" 1 bir
Ekleme Yapmak Icin "
" 2 Silme
Islemi Icin "
" 3
Programa Son Ver");
}
void Ekle(QUEUENODEPTR * bas, QUEUENODEPTR *kuyruk, char deger)
{
QUEUENODEPTR yeni;
yeni = malloc(sizeof(QUEUENODE));
if(yeni != NULL)
{
yeni->data = deger;
yeni->sonraki = NULL;
if(Bos(*bas))
*bas = yeni;
else
(*kuyruk)->sonraki = yeni;
*kuyruk = yeni;
}
else
printf("%c Eklenmedi. Yetersiz hafiza.\n",
deger);
}
char Cikar(QUEUENODEPTR *bas, QUEUENODEPTR *kuyruk)
{
char deger;
QUEUENODEPTR hedef;
deger = (*bas)->data;
hedef = *bas;
*bas = (*bas)->sonraki;
if(*bas = = NULL)
*kuyruk = NULL;
free(hedef);
return(deger);
}
int Bos(QUEUENODEPTR bas)
{
return bas = = NULL;
}
void Yaz(QUEUENODEPTR suAn)
{
if(suAn = = NULL)
printf("Queue su an bos.\n\n");
else
{
printf("Queue:\n");
while(suAn != NULL)
{
printf("%c -
->", suAn->data);
suAn = suAn->sonraki;
}
printf("NULL\n");
}
}
|