Menu
Coddy logo textTech

Bir Listeyi Karıştırma

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 8 / 65.

Bir listedeki öğelerin sırasını rastgele hale getirmeniz gerektiğinde, Dart shuffle() metodunu sunar. Bu metot, listedeki tüm öğeleri rastgele bir şekilde yeniden düzenleyerek oyunlar, simülasyonlar veya rastgele düzenlemelere ihtiyaç duyduğunuz her durum için mükemmel olan tahmin edilemez bir sıra oluşturur.

shuffle() metodu, tüm öğelerin konumlarını rastgele değiştirerek orijinal listeyi doğrudan değiştirir. shuffle() metodunu her çağırdığınızda, aynı öğelerin farklı bir dizilimini elde edersiniz.

List<String> cards = ['Ace', 'King', 'Queen', 'Jack'];
print('Original: $cards');  // [Ace, King, Queen, Jack]

cards.shuffle();
print('Shuffled: $cards');  // [Queen, Ace, Jack, King] (rastgele sıra)

Bu yöntem; kart oyunları oluşturmak, test sorularını rastgele hale getirmek veya öğeleri öngörülemeyen bir sırayla sunmak istediğiniz herhangi bir uygulama için özellikle yararlıdır. shuffle() yerinde çalıştığı için yeni bir liste oluşturmanıza gerek yoktur; mevcut liste sizin için rastgele yeniden düzenlenir.

challenge icon

Görev

Kolay

Takımları rastgele eşleşmelere karıştırarak bir oyun turnuvası fikstürünü yöneten bir program oluşturun. Programınız şunları yapmalıdır:

  1. Turnuva adını temsil eden bir dize girişi okuyun (bu değer okunur ancak yazdırılmaz)
  2. Takım adlarını temsil eden birden fazla dize girişi okuyun (giriş, boş bir dize alındığında sona erer)
  3. Takımları rastgele bir sıraya göre karıştırın
  4. Her takım adını ayrı bir satıra yazdırın

Örneğin, turnuva adı "Local Cup" ve takımlar "Wolves", "Hawks" ise, programınız takım adlarını karıştırılmış (rastgele) bir sırada, her satıra bir tane gelecek şekilde yazdırmalıdır:

Hawks
Wolves

Veya:

Wolves
Hawks

shuffle() sırayı rastgele hale getirdiği için, takımların herhangi bir dizilimi geçerlidir.

Kopya kağıdı

shuffle() metodu, bir listedeki öğelerin sırasını rastgele hale getirir:

List<String> cards = ['Ace', 'King', 'Queen', 'Jack'];
print('Original: $cards');  // [Ace, King, Queen, Jack]

cards.shuffle();
print('Shuffled: $cards');  // [Queen, Ace, Jack, King] (rastgele sıra)

shuffle() metodu, orijinal listeyi doğrudan değiştirir ve her çağrıldığında farklı bir rastgele düzen oluşturur.

Kendin dene

import 'dart:io';

void main() {
  // Turnuva adını oku
  String? tournamentName = stdin.readLineSync();
  
  // Boş dize gelene kadar takım adlarını oku
  List<String> teams = [];
  String? teamName;
  while ((teamName = stdin.readLineSync()) != null && teamName!.isNotEmpty) {
    teams.add(teamName);
  }
  
  // TODO: Rastgele eşleşmeler için takımlar listesini karıştır

  // Her takımı ayrı bir satıra yazdır
  for (String team in teams) {
    print(team);
  }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler