Menu
Coddy logo textTech

Eine Liste sortieren

Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 7 von 65.

Wenn Sie die Elemente in einer Liste organisieren müssen, bietet Dart die Methode sort() an, die Elemente in aufsteigender Reihenfolge anordnet. Diese Methode ist besonders nützlich, um Namen in alphabetischer Reihenfolge oder Zahlen vom kleinsten zum größten Wert zu sortieren.

Die sort()-Methode verändert die ursprüngliche Liste direkt, anstatt eine neue sortierte Liste zu erstellen. Wenn Sie sort() auf einer Liste aufrufen, ordnet sie die vorhandenen Elemente direkt an Ort und Stelle um.

List<String> names = ['Charlie', 'Alice', 'Bob'];
names.sort();
print(names);  // ['Alice', 'Bob', 'Charlie']

List<int> scores = [85, 92, 78, 96];
scores.sort();
print(scores);  // [78, 85, 92, 96]

Die sort()-Methode funktioniert automatisch für gängige Datentypen wie Strings und Zahlen. Bei Strings sortiert sie alphabetisch, während sie bei Zahlen vom niedrigsten zum höchsten Wert sortiert. Dies macht sie zu einem unkomplizierten Werkzeug für die Organisation Ihrer Daten, wann immer Sie Elemente in einer vorhersehbaren Reihenfolge benötigen.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, das ein Restaurantmenü verwaltet, indem es Gerichte in verschiedenen Kategorien organisiert. Dein Programm sollte:

  1. Eine Zeichenfolgeneingabe lesen, die den Namen des Restaurants darstellt
  2. Mehrere Zeichenfolgeneingaben lesen, die die Namen der Gerichte darstellen (die Eingabe endet, wenn du eine leere Zeichenfolge erhältst)
  3. Die Methode sort() verwenden, um die Gerichte alphabetisch zu sortieren
  4. Das organisierte Menü genau im unten gezeigten Format ausgeben

Wenn der Name des Restaurants beispielsweise "Bella Vista" lautet und die Gerichte "Pasta Carbonara", "Caesar Salad", "Grilled Salmon", "Apple Pie" sind, sollte dein Programm Folgendes ausgeben:

Restaurant: Bella Vista
Original menu: [Pasta Carbonara, Caesar Salad, Grilled Salmon, Apple Pie]
Sorted menu: [Apple Pie, Caesar Salad, Grilled Salmon, Pasta Carbonara]
Total dishes: 4
Status: Menu organized alphabetically

Wenn der Name des Restaurants "Quick Bites" lautet und die Gerichte "Burger", "Pizza", "Sandwich" sind, sollte dein Programm Folgendes ausgeben:

Restaurant: Quick Bites
Original menu: [Burger, Pizza, Sandwich]
Sorted menu: [Burger, Pizza, Sandwich]
Total dishes: 3
Status: Menu organized alphabetically

Wenn der Name des Restaurants "Cafe Corner" lautet und nur ein Gericht, "Coffee", angegeben wird, sollte dein Programm Folgendes ausgeben:

Restaurant: Cafe Corner
Original menu: [Coffee]
Sorted menu: [Coffee]
Total dishes: 1
Status: Menu organized alphabetically

Dein Programm muss die Methode sort() verwenden, um die Gerichte alphabetisch zu sortieren. Denke daran, dass sort() die ursprüngliche Liste direkt verändert. Du musst daher vor dem Sortieren eine Kopie der ursprünglichen Liste erstellen, wenn du sowohl die ursprüngliche als auch die sortierte Version anzeigen möchtest.

Probier es selbst

import 'dart:io';

void main() {
  // Restaurantnamen lesen
  String? restaurantName = stdin.readLineSync();
  
  // Gerichtnamen lesen, bis eine leere Zeichenfolge eingegeben wird
  List<String> dishes = [];
  String? dish;
  while ((dish = stdin.readLineSync()) != null && dish!.isNotEmpty) {
    dishes.add(dish);
  }
  
  // TODO: Schreiben Sie Ihren Code unten
  // Erstellen Sie eine Kopie der ursprünglichen Liste und sortieren Sie diese
  // Berechnen Sie die Gesamtzahl der Gerichte
  // Geben Sie das erforderliche Ausgabeformat aus
  
  // Ergebnisse ausgeben
  // print("Restaurant: $restaurantName");
  // print("Original menu: $dishes");
  // print("Sorted menu: $sortedDishes");
  // print("Total dishes: $totalDishes");
  // print("Status: Menu organized alphabetically");
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Dart-Compiler