Dosya Okuma ve Sıralı Şekilde Yazma (Hızlı Sıralama C# konsol) – Mobile Application Developer

Dosya Okuma ve Sıralı Şekilde Yazma (Hızlı Sıralama C# konsol)

Bir  metin belgesinden alınan yazılar yine bir metin belgesine sıralı (satır satır) olarak yazma işlemi, c# konsol uygulaması şeklinde geliştirilmiştir. Sıralama Quicksort (Hızlı Sıralama) yöntemi ile yapıldı. Normalde ArrayList.Sort() yöntemi hızlı sıralama algortimasını kullanıyor fakat uygulamada direkt yöntem yerine algoritma yazılarak gerçekleştirildi. Uygulamanın kodları yazının devamında bulunmaktadır.

Dosya Okuma ve Yazma

Dosya okuma ve yazma sınıflarına direkt ulaşabilmek için using System.IO komutunu projeye ekliyoruz. Kaynak dosyayı açmak için FileStream nesnesini ve StreamReader sınıfını kullanarak ReadLine() metodu ile dosyayı okuyoruz. ReadLine() metodunu dosyanın sonunu ifade eden NULL değerine geri dönene kadar çağırıyoruz. Döngü içinde okunan satırları dizinin içine ekliyoruz ve sonrada tüm nesneleri kapatıyoruz.

Aynı şeklide FileStream nesnesini ve StreamWriter sınıfını kullanarak hedef dosyaya yazma işlemini yaptık. Burada hedef dosya “cikti.txt” şeklinde belirlendi. İşlem sonrasında debug klasöründe cikti.txt dosyası oluşturulup, yazma işlemi sıralı olarak gerçekleştirilecek.

Quicksort (Hızlı Sıralama) Yöntemi

Böl ve yönet mantığı ile gerçekleşmektedir. Önce verilerin içinden bir değer seçilir ve dizi ikiye bölünür. Bu değer genellikle ortadaki elemandır. Bölme işlemi, küçük olanlar sol tarafa, büyük olanlar ise sağ tarafa yerleştirilerek yapılır. Sol ve sağ alt kümelere tekrar aynı işlemler yapılarak veriler sıralanır. Quick sort yöntemi kendi kendini çağıran (recursive) bir fonksiyon olduğu anlaşılır.

Ekran Görüntüsü

Uygulamanın kodları

Gist Kodları

 

 

 

Bulent SIYAH | 19 Şubat 2012