Java'da dizideki elemanları rasgele sıralama(listeleme) nasıl yapılır?

soruldu: 16 Nis '13, 18:05

pckolog57's gravatar image

pckolog57
1333
cevap kabul oranı: 0%

değiştirildi: 18 Nis '13, 03:04

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Collections.shuffle() kullanabilirsin.

Kendim yapmak istiyorum dersen de Shuffle an Array or a List - Algorithm in Java sayfasına bakmanda fayda var.

permanent link

cevaplandı: 17 Nis '13, 00:16

OguzOzkeroglu's gravatar image

OguzOzkeroglu
2.5k32939
cevap kabul oranı: 40%

String[] takimlarS = {"Cimbom", "Fenev", "Sekiztaş", "Hamsi"};
    ArrayList<String> takimlar = new ArrayList<String>(Arrays.asList(takimlarS));

    System.out.println(takimlar);

    Collections.shuffle(takimlar);

    System.out.println(takimlar);
Ekran Çıktısı
[Cimbom, Fenev, Sekiztaş, Hamsi]
[Fenev, Hamsi, Sekiztaş, Cimbom]

Şeklinde kullanabilirsin

permanent link

cevaplandı: 17 Nis '13, 00:45

Hasan%20Bey's gravatar image

Hasan Bey
342202532
cevap kabul oranı: 0%

genel olarak şöyle bir algoritması var;

while(count>0)
{
yeniliste.add(eskilistesi.poll(randomNumber(0,count)));
count--;
}

burada sizin kullanıdğınız dilin random üretme kurallarına göre bazı küçük değişikler olabilir ben [0,count) seklinde düşünerek yazdım. eger tek bir dizi kullanak yapmak isterseniz random sayı üretme işleminizde soyle bir değişiklik yapmanız gerekir.dizi içersinde dönen bir döngü içersinde her yeni sayı üretirken dizinin kacıncı indisindeyseniz o indisten sonra ki bir random indisi üretmeyi garanti altına almalısınız bunu da ;

geçerli indis + random(count - gecerli)

gibi yapabilirsiniz ama bunun için diger kodlarda da değişiklik yapmak gerek nede olda farklı bi yaklasım

permanent link

cevaplandı: 17 Nis '13, 01:44

trueLife's gravatar image

trueLife
699182430
cevap kabul oranı: 10%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,077

Soruldu: 16 Nis '13, 18:05

Görüntüleme: 1,043 kez

Son güncelleme: 18 Nis '13, 03:04

powered by BitNami OSQA