Einzelnen Beitrag anzeigen

mr-unbekannt

Registriert seit: 29. Okt 2005
Ort: tirol
104 Beiträge
 
Delphi 7 Personal
 
#1

Sortieren: Bubblesort-Verfahren

  Alt 11. Dez 2006, 13:22
Hallo!

Ein einfacher Zahlensortierungsalgorithmus für Zahlen(in einem Array)...

Das Verfahren:
Die erste Stelle des Feldes wird mit der Zweiten Stelle verglichen; bei Ungleichheit werden sie vertauscht.
Das geht weiter, solange bis alle Felder Vertauscht sind. Gleichzeitig wird ein Flag gesetzt, wenn in der For-Schleife etwas vertauscht wird.

Danach wird eine do..while Schleife zum Überprüfen des Flags verwendet (falls das Flag 0 ist ist die Sortierung fertig)

SO, der Code:

Code:
#include <iostream>
#include <conio>

#define WB 1000

using namespace std;

//---------------------------------------------------------------------------

int main()
 {
 int iArr[50], iFlag, iDummy;
 randomize();

 cout << "Dieses Programm kann zufaellig generierte Zahlen sortieren!" << endl;
 cout << "___________________________________________________________" << endl << endl;
 cout << "Folgende Zufallszahlen sind unsortiert:" << endl << endl;

 for (int i = 0;i<21;i++)
 {     
 iArr[i] = random(WB);
 cout << iArr[i] << ", ";
 }

 cout << endl;
 cout << "___________________________________________________________" << endl << endl;
 cout << "Diese Zahlen wurden sortiert: " << endl << endl;

 do
 {
  iFlag = 0;

  for (int i = 0;i < 20;i++)
  {
  if (iArr[i] > iArr[i+1])
    {
     iFlag = 1;
     iDummy = iArr[i];
     iArr[i] = iArr[i+1];
     iArr[i+1] = iDummy;
    }
  }

 }while (iFlag == 1);

 for (int i = 0;i<21;i++)
 {
  cout << iArr[i] << endl
 }

 getch();

 return 0;
 }
//---------------------------------------------------------------------------
Vielen Dank für die Aufmerksamkeit
  Mit Zitat antworten Zitat