AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Bubblesort in einfachen unmissverständlichen Sätzen
Thema durchsuchen
Ansicht
Themen-Optionen

Bubblesort in einfachen unmissverständlichen Sätzen

Offene Frage von "Binary"
Ein Thema von Binary · begonnen am 26. Sep 2008 · letzter Beitrag vom 27. Sep 2008
 
Binary

Registriert seit: 30. Sep 2004
Ort: Köln
27 Beiträge
 
Delphi 5 Standard
 
#1

Bubblesort in einfachen unmissverständlichen Sätzen

  Alt 26. Sep 2008, 18:53
Hallo zusammen,

mein Arbeitsauftrag lautet:

Ein gemischter Stapel aus 52 Spielkarten soll sortiert werden. Die Farben sollen in die
Reihenfolge Karo, Herz, Pik, Kreuz gebracht werden. Die Reihenfolge der Kartenwerte
sei 2, 3, 4, 5, 6, 7, 8, 9, 10, Bube, Dame, K¨onig, As. Die Farbe sei das st¨arkere
Sortierkriterium; eine Herz-Karte soll also immer vor einer Pik-Karte stehen.
Aufgabe 1 a)
Entwerfen Sie einen Algorithmus zum Sortieren der Spielkarten. Beschreiben Sie den
Algorithmus mit einfachen unmissverst¨andlichen S¨atzen. Es darf davon ausgegangen
werden, dass der Computer den Rang zweier Karten direkt vergleichen kann. D.h. f¨ur
zwei beliebige Karten (z.B. Pikbube und Karoneun) kann der Computer entscheiden,
welche Karte in der sortierten Folge zuerst erscheinen muss (im Beispiel die Karoneun).
Der Computer kann immer nur zwei Karten direkt vergleichen. Anweisungen wie “Finde
die niederwertigste noch ¨ubrige Karte” sind daher nicht erlaubt.

Meine Lösung lautet:
Delphi-Quellcode:
1.   Setze aktuelleKarte = Anfang
Setze zaehler=0
Setze tausch=false
2.   Wenn zaehler=26 und tausch=false
Gebe Meldung „Sortiert“ aus
Wenn tausch = false und zaehler ungleich 26
      gehe zu Schritt 3
   Wenn zaehler tausch = true
Setze zaehler = 0
Setze tausch = false
Setze aktuelleKarte = Anfang
Gehe zu Schritt 3
3.   Prüfe ob aktuelleKarte größer als nächste Karte
Wenn aktuelleKarte Größer als nächsteKarte:
•   dann führe Tausch aus
•   setze aktuelleKarte = aktuelleKarte + 1
•   setze tausch =true
•   setze zaehler+=1
•   Gehe zu Schritt 2
   Ansonsten
•   setze aktuelleKarte = aktuelleKarte + 1
•   Gehe zu schritt 2 setze zaehler+=1
Meine Fragen:

1.Fällt euch ein Fehler auf? Meine Probe führte zu keinem
2.Entspricht meine Lösung dem Bubblesort?
Konnte mich nicht mehr richtig daran erinnern.
Dies ist wichtig, um die 1 b, welche um den Aufwand geht, zu bestimmen.
Kian
Viele Grüße

Binary
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz