C# Dizi Karıştırma (Random Suffle)

Merhaba arkadaşlar,

Bazı projelerinizde dizi elemanlarını random bir şekilde karıştırmamız gerekebiliyor, C++ programlama dilinde bu işlevi yapan random_suffle() hazır fonksiyonu bulunuyor fakat C# dili kütüphanelerinde böyle bir hazır fonksiyona yer verilmemiş, bu yüzden kendi karıştırma fonksiyonumuzu kendimiz yazmalıyız.
Öncelikle global olarak bir adet random oluşturuyoruz.

 static Random _random = new Random();

Daha sonra fonksiyonumuzu yazıyoruz.

 static void Shuffle<T>(T[] array)
        {
            int n = array.Length;
            for (int i = 0; i < n; i++)
            {

                int r = i + (int)(_random.NextDouble() * (n - i));
                T t = array[r];
                array[r] = array[i];
                array[i] = t;
            }
        }

Kodumuz bu şekilde umarım faydalı bir yazı olmuştur.

3 Comments

  1. Can I just say what a relief to find somebody who genuinely understands what they’re talking about on the internet.
    You certainly realize how to bring a problem to light and
    make it important. A lot more people need to check this out
    and understand this side of your story. I was
    surprised you’re not more popular since you definitely have the gift.

  2. It is appropriate time to make a few plans for the future and it’s time to be happy.
    I have read this put up and if I may I want to recommend you few attention-grabbing things or advice.
    Maybe you could write subsequent articles referring to this article.

    I wish to read more things about it!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir