C-Quellcode
- /* bubble.cppGanze Zahlen in einen Vektor einlesen,
- aufsteigend sortieren und wieder ausgeben */
- #include "stdafx.h"
- #include <iostream>
- #include <iomanip>
- #include <stdio.h>
- #define MAX 100 // Maximale Anzahl
- long zahl [MAX];
- int main()
- {
- int i, anz; // Index, Anzahl
- std::cout << "\n Ganze Zahlen sortieren\n"
- << std::endl;
- // Zahlen einlesen
- std::cout << "Bis zu 100 ganze Zahlen eingeben\n"
- << "(Abbruch mit einem Buchstaben):" << std::endl;
- for( i = 0; i < MAX && std::cin >> zahl[i]; ++i)
- ;
- anz = i;
- // Zahlen sortieren
- bool sortiert = false; // Noch nicht sortiert.
- long hilf; // Zum Tauschen.
- int ende = anz; // Ende eines Durchlaufs.
- while( !sortiert) //Solange noch nicht sortiert
- {
- sortiert = true;
- --ende;
- for( i = 0; i < ende; ++i) // Benachbarte Zahlen vergleichen
- {
- if( zahl[i] > zahl[i+1])
- {
- sortiert = false;
- hilf = zahl[i];
- zahl[i] = zahl[i+1];
- zahl[i+1] = hilf;
- }
- }
- }
- // Zahlen ausgeben
- std::cout << "Die sortierten Zahlen:\n" << std::endl;
- for( i = 0; i < anz; ++i)
- std::cout << std::setw(10) << zahl[i];
- std::cout << std::endl;
- system("PAUSE");
- return 0;
- }
Da ich das noch auf meiner alten Festplatte gefunden habe dachte ich mir das ich es mal hier veröffentliche.
Das ist der Bubblesort Algorithmus der die Zahlen vom kleinsten bis zum größten sortiert. Da im Code alles kommentiert ist sollte es da keine großen Probleme geben es zu verstehen.