Bolu Beyi tarafından yazıldı Kasım - 9 - 2010 1 Yorum

Şimdi yazacağımız c sharp programında kuyruk yapısından bahsedeceğim biraz. Kendimiz bir kaç sayı ekleyeceğiz, bunu ekrana yazdıracağız.  Sonra bir sayı çıkarıp tekrar ekrana yazdıracağız. Burada bol miktarda fonksiyon kullanacağız. Listeleme, sayı ekleme ve sayı çıkarmak için ayrı ayrı fonksiyonlardan yararlanacağız. Ben kodları vereyim:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace bolubeyi.net
{
class Program
{
static void Main(string[] args)
{
kuyruk kuyruk1 = new kuyruk(6);
kuyruk1.ekle(5);
kuyruk1.ekle(7);
kuyruk1.ekle(14);
kuyruk1.cikar();

kuyruk1.listele();
Console.WriteLine(“”);//görünümün karışık olmaması için ekledik.
kuyruk1.ekle(3);
kuyruk1.listele();
}
}
class kuyruk
{
public int[] dizi;
public int isaretci,boyut;
public kuyruk(int boyut)
{
this.dizi = new int[boyut];
this.isaretci = 0;
this.boyut = boyut;
}
public void ekle(int veri)
{
if (isaretci >= boyut)
Console.WriteLine(“kuyruk dolu”);
else
{
dizi[isaretci] = veri;
isaretci++;
}
}
public void cikar()
{
if (isaretci > 0)
for (int i = 1; i dizi[i – 1] = dizi[i]; isaretci–;
}
public void listele()
{
if (isaretci > 0)
for (int i = 0; i < isaretci; i++)
Console.WriteLine(dizi[i]);
}}}

Main fonksiyonumuz içerisinde “kuyruk kuyruk1 = new kuyruk(6);” diyerek 6 boyutlu bir kuyruk tanımlamış olduk. Ekle fonksiyonuna yollayarak 5,7 ve 14 sayılarını ekledik. Ekle fonksiyonumuz içersinde if koşul yapısıyla kuyruk içerisinde bir sorgulama gerçekleştirdik. İşaretçi(pointer) boyuttan büyükse ekrana “kuyruk dolu” yazdırdık. Eğer boyuttan küçükse sayımız ekleyerek işaretçiyi 1 artırdık. Yani 6’da 1’ini doldurmuş olduk. Biz sayı ekledikçe işaretçi de arttı. Bu 3 adet sayıyı ekledikten sonra bir sayı çıkarmak için çıkar fonksiyonuna yolladık. Burada ilk eklediğimiz sayıyı yani 5’i çıkaracağız(First in firs out). Eğer “for (int i = isaretci; i

Bugüne kadar bir yorum yapıldı

  1. Faruk dedi ki:

    Teşekkürler hocam, böyle c sharp programları paylaşmaya devam edin…

You must be logged in to post a comment.