Merhaba Değerli Arkadaşlar sabahın bu erken saatlerinde bir zevk haline getirdiğim denize karşı pencerenin karşısında çay yudumlarken bir başka zevkim olan yazma bir şeyler anlatma hissi daha tatlı gelince hemen bilgisayarımı aldım ve çayımıda yudumlarken yazmaya koyuldum.
Bu yazımda sizlere Dün Anlattığım veri yapılarının diğer bir önemli konusu olan Queue (Kuyruk) veri yapısını elimden geldiği kadarıyla en önemli arkadaşım olan sıcak çayımı yudumlarken anlatacağım ama önce dün verdiğim gibi bugünde veri yapılarının en önemli yapısı derken acaba veri yapıları ne demektir diyerek başlayalım yazmaya…
Veri yapıları,Verilerin bellekte tutulma biçimleriyle beraber bellekten alınırken işlenme biçimleri,yöntemleri yada yordamlarıdır diyebiliriz.Bunun içindir ki dün kü yazımda da belirttim bir Value nun Type ı en basitinden bir veri yapısıdır çünkü value nun bellekte nasıl tutulacağını kaç byte halinde saklanacağını karar verme aşamasıdır.Bu kadar kısa hatırlatmadan sonra dönelim asıl konumuza ve Queue yi anlatmaya başlayalım.
Queue (kuyruk) veri yapısı adının türkçe anlamından da anlaşılacağı üzere veriler burda kuyruk halinde tutulur.Yani kuyruğa eleman eklenirken en sonuna yani kuyruğa eleman eklenir ve bu işleme Enqueue denir ayrica kuyruktan bir eleman çekilirkende yine en son eklenen eleman ilk olarak çekilir ki bu olayada dequeue denir.Bu veri yapısının terminology sinde FIFO (Firs In First Out ) mantığı vardır yani ilk giren eleman ilk çıkar bununda tersi son giren eleman son çıkar ancak dünkü Stack da bu durumun tersi yaşanmaktaydı yani Son Giren İlk çıkar anlayışı vardı ( LIFO ).
Stack veri yapısında da olduğu gibi bu veri yapısında da sizlere amacım olan .Net Framework un Collections Kütüphanesinde var olan Queue sınıfından anlatacağım tabi Queue sınıfıyla beraber yine Stack sınıfındada olduğu gibi bir çok metot veya java tabiriyle yordam bulunmaktadır.Bunları ayrıntılı anlatmayacağım anlamadığınız metot varsa metotu yazıp üstüne sağ tıkladıktan sonra gelen menude Go To Definition sekmesine tıklayıp ordan açıklamalarını öğrenebilirsiniz burdaki amacım Tembellik yapıp anlatmaktansa sizlere ısrarla Visual Studio nun güzelliklerini ve kolaylıklarını effektif bir şekilde kullanmanızı teşvik etmektir yoksa Sıcak Çayım soğusada Tüpün üzerinde ki demliğim soğumaz :).Şimdi Queue sınıfının metotlarının neler olduğunu görelim.
- Enqueue
- Dequeue
- Clear
- Count
- CopyTo
- Clone
- Contains
- GetEnumeratorBu metotlardan bazılarını görmek üzere sizleri hemen yazdığım uygulamaya bağlayayım çünkü az sonra okulum başlayacak ve önlüğümü giyip okuluma gitmem lazım 🙂
using System;
using System.Collections; // Queue sınıfı bu isim alanında bulunur.
class Sira_Ornek1
{
public static void Main()
{
// Queue sınıfından bir nesne oluşturalım:
Queue sira = new Queue();
// Nesnemize Enqueue metodu ile deÄŸerler girelim:
sira.Enqueue(“mehmet”);
sira.Enqueue(“salih”);
sira.Enqueue(“deveci”);
sira.Enqueue(“kuheylan”);
// sira isimli nesnemizin eleman sayısı:
Console.WriteLine(“\n sira nesmemizin eleman sayısı: ” + sira.Count);
// sira isimli nesnemizin elemanları:
Console.WriteLine(“\n sıra nesmemizin elemanları: “);
DegerleriYaz(sira);
//sira isimli nesmemizden bir eleman alalım:
string eleman = (string)sira.Dequeue();
Console.WriteLine(” \n Sıramizin başından ÅŸunu aldık: ” + eleman);
//şimdi ise siranin en başındaki nesneyi öğrenelim.
// Ama onu ıiradan çıkartmayacağız:
eleman = (string)sira.Peek();
Console.WriteLine(” \n Sıramızın başındaki eleman ” + eleman);
Console.ReadLine();
}
public static void DegerleriYaz(IEnumerable kolleksiyon)
{
System.Collections.IEnumerator Enum = kolleksiyon.GetEnumerator();
while (Enum.MoveNext())
Console.Write(“\t{0}”, Enum.Current);
Console.WriteLine();
}
}
İŞTE KODUN ÇIKTISI…
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri
hocam iyi yazmışsın da bu kodlar çalışmadı bende sıkıntı ne acaba tırnak işareti vs. sorunundan dolayı kodları elimle baştan yazdım kopyala yapıştır yapmadım ama yine de çalışmadı dosya isimlerine kadar her şeyi aynı açıp yapmama rağmen üstelik. ben de yazılım mühendisliği okuyorum finale dahil bu konular ama daha açıklayıcı anlatma şansın var mı hiç olmazsa yaz okulu için 🙂 ya da birebir soru cevap yapma imkanımız varsa ?
Mehmet hocam Queue yi iyi anlatmışsınız. Dequeue metodunun görevi, en öndeki elemanı sıradan siler ve silinen elemanı geriye dönderir diye biliyorum.
One thing I’d really like to touch upon is that weight loss program fast is possible by the suitable diet and exercise. An individual’s size not simply affects appearance, but also the complete quality of life. Self-esteem, melancholy, health risks, and also physical skills are affected in putting on weight. It is possible to do everything right and at the same time having a gain. Should this happen, a problem may be the reason. While excessive food and not enough physical exercise are usually responsible, common health concerns and widely used prescriptions can easily greatly help to increase size. Thanks a bunch for your post in this article.
I抣l immediately grab your rss as I can’t find your email subscription link or e-newsletter service. Do you’ve any? Please let me know so that I could subscribe. Thanks.
Simply want to say your article is as astounding. The clearness on your post is simply spectacular and i can suppose you are a professional in this subject. Fine along with your permission allow me to seize your feed to stay updated with coming near near post. Thank you a million and please carry on the rewarding work.
I don’t even know how I ended up here, but I thought this post was good. I do not know who you are but certainly you are going to a famous blogger if you are not already 😉 Cheers!|
There may be noticeably a bundle to find out about this. I assume you made certain nice points in features also.
Perfect work you have done, this internet site is really cool with great info .