www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Pascal" - quicksort
quicksort < Pascal < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Pascal"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

quicksort: delphi
Status: (Frage) beantwortet Status 
Datum: 11:08 Mo 14.02.2005
Autor: Eirene

hallo!!!
also ich muss in der Schule ein Programm programmieren mit quicksort
als kleine Hilfe hat uns der Lehrer folgende Seite empfohlen : http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/quick/quicken.htm
kann mir bitte jemand helfen das zu programmieren und mir das auch ausführlich erklären, da ich das nicht so gut kann??

Außerdem hab ich im Internet noch ein Quelcode gefunden das ziemlich gut ist, meine ich
Function quicksort(s,e)
  i=s
  j=e
  x=feld((i+j)/2)
  Repeat
    While feld(i)<x
      i=i+1
    Wend
    While feld(j)>x
      j=j-1
    Wend
    If i<=j Then
      tmp=feld(i)
      feld(i)=feld(j)
      feld(j)=tmp
      i=i+1
      j=j-1
    End If
  Until i>j
  If j>s Then quicksort(s,j)
  If i<e Then quicksort(i,e)
End Function


danke

        
Bezug
quicksort: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:08 Mo 14.02.2005
Autor: Lizard

Hallo,

> als kleine Hilfe hat uns der Lehrer folgende Seite empfohlen :
> http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/quick/quicken.htm

Gefällt mir als Einführung nicht so gut. Schau dir als "größere" Hilfe vielleicht mal []http://www.wikiservice.at/dse/wiki.cgi?QuickSort an.

Bezug
        
Bezug
quicksort: Antwort
Status: (Antwort) fertig Status 
Datum: 12:28 Mo 14.02.2005
Autor: baskolii

Hi Eirene!

Wo genau liegt denn das Problem?
Verstehst du den Algorithmus nicht, oder hapert es am Programmieren?

zu Quicksort:

du hast z.B. eine Folge von Zahlen und willst diese sortieren
nimm dir eine Zahl (=Pivotelement) aus der Folge (die Meisten nehmen die Mitte) und verschiebe alle Zahlen, die rechts von dieser Zahl stehen+kleiner sind als diese nach links und alle Zahlen, die links von der Zahl stehen+größer sind nach rechts. Jetzt steht dein Pivotelement an der richtigen stelle und man muss nur noch die Bereiche rechts und links davon sortieren. Bei diesen Bereichen verfährst du genauso.
mmh, ist schlecht zu erklären, hier ein Beispiel
[mm] \vmat{ 63 & 24 & 12 & 53 & 72 & 18 & 44 & 35 } [/mm] wähle 53 als Pivotelement
[mm] \vmat{ 18 & 24 & 12 & 35 & 44 & 53 & 72 & 63} [/mm]
sortiere jetzt  [mm] \vmat{ 18 & 24 & 12 & 35 & 44 } [/mm] und [mm] \vmat{72 & 63 } [/mm]
wähle 12 bzw. 72 als Pivotelement, dann:
[mm] \vmat{ 12 & 24 & 18 & 35 & 44 } [/mm] und [mm] \vmat{63 & 72 } [/mm]
sortiere jetzt [mm] \vmat{ 24 & 18 & 35 & 44 } [/mm] mit 18 als Pivotelement:
[mm] \vmat{ 18 & 24 & 35 & 44 } [/mm]
fertig

zu deinem Quelltext:
deine Zahlenfolge wird hier durch ein Feld beschrieben
Function quicksort(s,e) (sortiere den Bereich s bis e, am Anfang also 0 bis 7 (im Bsp. oben))
  i=s
  j=e
  x=feld((i+j)/2) (x ist dein Pivotelement)
  Repeat
    While feld(i)<x (du durchläufst deinen Feldbereich vom linken Rand, bis du ein Element gefunden hast, dass größer als dein Pivotelement ist)
      i=i+1
    Wend
    While feld(j)>x (du durchläufst deinen Feldbereich vom rechten Rand, bis du ein Element gefunden hast, dass kleiner als dein Pivotelement ist)

      j=j-1
    Wend
    If i<=j Then  (Jetzt hat das Element feld(i), dass links vom Pivotelement ist, aber größer als dieses ist und das Element feld(j), das rechts vom Pivotelement ist und kleiner ist als dieses: hier werden die beiden Elemente vertauscht)
      tmp=feld(i)
      feld(i)=feld(j)
      feld(j)=tmp
      i=i+1
      j=j-1
    End If
  Until i>j
(Jetzt liegt dein Pivotelement an der richtigen Stelle)
  If j>s Then quicksort(s,j) (Sortiere nun den Bereich s bis j)
  If i<e Then quicksort(i,e) (Sortiere nun den Bereich i bis e)

End Function

Hoffe, ich konnte dir helfen.

mfg Verena



Bezug
                
Bezug
quicksort: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:46 Mo 14.02.2005
Autor: Eirene

nun ja wenn ich ehrlich sein soll verstehe ich alles nicht,  das Prinzip verstehe ich, aber ich weiß überhaupt nicht wie man es programmiert, und wie z.B die Form dann ausssieht

ich weiß auch überhaupt nicht wie ich anfangen soll...
hmm...

Bezug
                        
Bezug
quicksort: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:56 Mo 14.02.2005
Autor: baskolii

mmh, kannst du vielleicht etwas genauer sagen, was dein Problem ist.
In welcher Programmiersprache soll denn das ganze sein.

mfg Verena

Bezug
                                
Bezug
quicksort: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:43 Mo 14.02.2005
Autor: Eirene

Also es sollte auf jeden fall in delphi sein.

Bezug
                        
Bezug
quicksort: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:56 Mo 14.02.2005
Autor: Karl_Pech

Hi,

Hast Du denn schonmal 'was über Google gesucht? Eine []Suche mit den Suchbegriffen "delphi quicksort" liefert mir immerhin 7090 Treffer. ;-)

Viele Grüße
Karl


Bezug
                                
Bezug
quicksort: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:14 Di 15.02.2005
Autor: schneckchen_moeh

Hallo Eirene!

Die Google-Tipps von Karl dürften dir schon weiterhelfen.
Dabei brauchst du aber bereits Kenntnisse in Delphi generell.

Falls du dazu Fragen hast, stell sie ruhig.
Ich persönlich hab es nämlich mal im Praktikum intensiv gelernt.

Viel Erfolg
Gruß Schneckchen

Bezug
        
Bezug
quicksort: Anmerkung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:52 So 20.02.2005
Autor: difftop

Du hast die Lösung, die Quicksort-Funktion bereits aufgeschrieben.
(allerdings in einer Basic-Notation)
Sie ist nur noch in die Objekt-Pascal-Syntax (liegt Delphi zugrunde)
zu übertragen.
Die While-Schleife in begin .... end, statt Wend zusammenfassen,
die Verzeigung ebenfalls in begin ... end, statt endif zus.fassen.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Pascal"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de