Zahlen sortieren - Einfache Lösung

In der ersten Lösung werden max. fünfzehn Zahlen sortiert. Die Zahlen werden jedoch als Text formatiert, dass bedeutet 11 kommt vor 2.


In dieser Lösung werden am Anfang fünfzehn Strings von der Konsole eingelesen. 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Zahlen_sortieren
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Zahlen eingeben. \n z.B. \n 4 \n 5 \n 2 \n 7 \n 1 \n maximal 15 zahlen möglich. \n Achtung: nur Zahlen von 0-9 verwendbar!");
string zahl1 = Console.ReadLine();
string zahl2 = Console.ReadLine();
string zahl3 = Console.ReadLine();
string zahl4 = Console.ReadLine();
string zahl5 = Console.ReadLine();
string zahl6 = Console.ReadLine();
string zahl7 = Console.ReadLine();
string zahl8 = Console.ReadLine();
string zahl9 = Console.ReadLine();
string zahl10 = Console.ReadLine();
string zahl11 = Console.ReadLine();
string zahl12 = Console.ReadLine();
string zahl13 = Console.ReadLine();
string zahl14 = Console.ReadLine();
string zahl15 = Console.ReadLine();

Danach wird eine ArrayList namens "sortieren" erstellt und alle fünfzehn Zahlen werden hinzugefügt. Dieser Vorgang funktioniert mit "sortieren.Add(string);", mit "sortieren.sort();" werden die ganzen Zahlen sortiert. Die selbst erstellte Methode "PrintValues" gibt die sortierten Zahlen auf der Konsole aus.

ArrayList sortieren = new ArrayList();
sortieren.Add(zahl1);
sortieren.Add(zahl2);
sortieren.Add(zahl3);
sortieren.Add(zahl4);
sortieren.Add(zahl5);
sortieren.Add(zahl6);
sortieren.Add(zahl7);
sortieren.Add(zahl8);
sortieren.Add(zahl9);
sortieren.Add(zahl10);
sortieren.Add(zahl11);
sortieren.Add(zahl12);
sortieren.Add(zahl13);
sortieren.Add(zahl14);
sortieren.Add(zahl15);
sortieren.Sort();
PrintValues(sortieren);
Console.ReadLine();
}
public static void PrintValues(IEnumerable myList)
{
foreach (Object obj in myList)
Console.Write(" {0}", obj);
Console.WriteLine();
}

}
}

Analyse

Positives

  • Großteils sehr einfache Implementierung
  • Auch für Programmieranfänger lesbar - Mit Ausnahme von der Methode "PrintValues" wurde keine Schleife verwendet

Negatives

  • Mehrstellige Zahlen werden nicht richtig sortiert
  • Sehr viele idente Codezeilen
  • Es müssen genau fünfzehn Zeilen eingegeben werden