Anbei der Source Code eines Blubblesort Sortieralgorithmus, den ich erstellt habe. Die Anforderungen an den Blubblesort waren gering.
Er sollte lediglich 4 Wörter ordnen können und innerhalb einer Consolenanwendung untergebracht werden. Der Algorithmus hat seinen Zweck erfüllt.
Sollte Jemand dennoch einen Bug finden, darf man es mich gern wissen lassen.
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { /* Bemerkung: Das Programm sortiert den String solange bis ein Buchstabe eines Wortes im * Vergleich zum anderen Wort "hochwertiger" ist oder der String im Vergleich kürzer ist. */ public static string[] SetBackBubble(string[] strgetWords, int t) { string[] strAbc = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; try { int intTestChange_ = 1; while (intTestChange_ != 0) // Solange durchlaufen bis kein Wechsel mehr stattgefunden hat. { intTestChange_ = 0; int u = 1; while (u < t) // Ein Durchgang durch alle Arrays- Indizes { string strgetCharacter = strgetWords[t - u - 1].ToLower(); // Array Index 0 // Baum string strgetCharacter_ = strgetWords[t - u].ToLower(); // Array Index 1 // Bau int j = 0; int k = 0; while (j == 0) { int m = 0; int n = 0; while (strAbc[m] != strgetCharacter.Substring(k, 1)) // Baum { m++; } while (strAbc[n] != strgetCharacter_.Substring(k, 1)) // Bau { n++; } if (n == m) { if (strgetCharacter_.Length == k + 1) { strgetWords[t - u] = strgetCharacter; strgetWords[t - u - 1] = strgetCharacter_; intTestChange_++; // Wechsel stattgefunden. j = 1; } else { j = 0; k++; } } else { if (m > n) { strgetWords[t - u] = strgetCharacter; strgetWords[t - u - 1] = strgetCharacter_; intTestChange_++; // Wechsel stattgefunden. j = 1; } else { j = 1; } } if (strgetCharacter_.Length == k || strgetCharacter.Length == k) { j = 1; } } u++; } } return strgetWords; } catch (Exception) { return strgetWords; } } static void Main(string[] args) { Console.WriteLine("Bitte geben Sie ihre Wörter ein."); Console.WriteLine("(Abbruch mit '0':)"); Console.WriteLine(); Console.WriteLine("Ihre Eingabe:"); Console.WriteLine(); try { string strgetInput = " "; int t = 0; while (strgetInput != "0" && strgetInput != "" && t <= 3) { Console.Write(t + 1 + " Wort: "); strgetInput = Console.ReadLine(); /* if (getInput == "0" || getInput =="") "Break" entfernt, da es ja als schlechte Programmierung angesehen wird. { break; }*/ strgetWords[t] = strgetInput; t++; } SetBackBubble(strgetWords, t); Console.WriteLine(); Console.WriteLine("Es wurde(n) " + t + " Wort(e) erfasst."); // t ist die maximale Anzahl der Wörter im Array // Eine Schleife mit der ich Alles durchgehe: 1. Durchgang und 2 Durchgang (Aufgabenblatt) Console.WriteLine(); Console.WriteLine("Die sortierte Ausgabe:"); Console.WriteLine(); Console.WriteLine(strgetWords[0]); Console.WriteLine(strgetWords[1]); Console.WriteLine(strgetWords[2]); Console.WriteLine(strgetWords[3]); Console.WriteLine(); Console.WriteLine("Ende des Programms."); Console.WriteLine(); } catch (NullReferenceException) { Console.WriteLine("Bitte geben Sie mindestens 2 Wörter ein."); } catch (Exception) { Console.WriteLine("Ein unerwarteter Fehler ist aufgetaucht."); } } } }







Seite 1 von 1 1
Ein wenig umständlich programmiert, aber im wesentlichen ist das der Bubblesort.
Den Source Code könnte man mit dem .Net Framework wesentlich einfacher entwickeln.