Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Algorithmen (https://www.delphipraxis.net/28-library-algorithmen/)
-   -   C++ Sortieren: Bubblesort-Verfahren (https://www.delphipraxis.net/82329-sortieren-bubblesort-verfahren.html)

mr-unbekannt 11. Dez 2006 13:22


Sortieren: Bubblesort-Verfahren
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz