AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Sortieren von Buchstaben in einer Listbox
Thema durchsuchen
Ansicht
Themen-Optionen

Sortieren von Buchstaben in einer Listbox

Ein Thema von hhhkkkaaa · begonnen am 20. Sep 2009 · letzter Beitrag vom 21. Sep 2009
Antwort Antwort
hhhkkkaaa

Registriert seit: 20. Sep 2009
2 Beiträge
 
#1

Sortieren von Buchstaben in einer Listbox

  Alt 20. Sep 2009, 22:03
Hallo!
Also ich hab ein Sortierprogramm für eine Listbox mit integer Zahlen geschrieben,und möchte das jetzt auf einen String übertragen. Also eine Listbox mit Buchstaben, die dann sortiert wird.
Ich weiß, dass man das gleich auf sorted=true stellen kann, ich benutz aber verschiedene Sortiermethoden und will die geschwindigkeiten vergleichen können und sowas.
So, Problem: es werden nur die ersten Buchstaben, also alle 'a' "sortiert" angezeigt.
Ich hab nicht so viel mit strings am Hut: ist ansicomparestr das richtige hier?
hier mein Versuch:
Delphi-Quellcode:
var i, j: integer; Merke : string;
begin
   i:=2;
   while i < Laenge do
   begin
      i:=i+1;
      Merke:= Zahl[i]; //einen Buchstaben merken
      j:= i;
       while ((j > 1)and (ansicomparestr(Zahl[j-1], Merke)> 0 )) do // die beide Buchstaben vergleichen
       begin
       // Beide Buchstaben miteinader vertauschen
          Zahl[j] := Zahl[j-1];
          j := j-1;
       end;
       //Gemerkten Buchstaben auf korrekten Platz setzen
       Zahl[j] := Merke;
   end;
Zahl[] ist eig Buchstabe []... muss ich noch ändern


Danke schonmal!
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Sortieren von Buchstaben in einer Listbox

  Alt 20. Sep 2009, 22:42
Erstmal herzlich willkommen in der DP

Such 'mal im Suchfeld nach

Zitat:
3 verschiedene Sortierverfahren
Da sind die gängigen Sortierverfahren (nicht nur 3) gut erklärt.

Gruß

Wolfgang
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Sortieren von Buchstaben in einer Listbox

  Alt 21. Sep 2009, 07:52
Schau mal hier, eine wirklich schöne Seite. Dort sieht man sogar, wie die einzelnen Algorithmen arbeiten. Sehr anschaulich.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Sortieren von Buchstaben in einer Listbox

  Alt 21. Sep 2009, 08:46
Und bei Delphi ist auch eine Demo dabei, die Threads in Kombination mit Suchalgorithmen und deren Geschwindigkeitsvergleich zeigt.
Diese liegt unter:
Code:
C:\Program Files\Borland\BDS\4.0\Demos\DelphiWin32\VCLWin32\Threads
Bzw. unter anderen Betriebssystem und Delphiversionen an leicht anderer Stelle (bei D2007/2009 z.B. in den öffentlichen Dokumenten).
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
hhhkkkaaa

Registriert seit: 20. Sep 2009
2 Beiträge
 
#5

Re: Sortieren von Buchstaben in einer Listbox

  Alt 21. Sep 2009, 16:50
erstmal danke für die antworten
aber ich glaube ihr habt mich ein wenig missverstanden..vllt hab ich mich auch schlecht ausgedrückt...
ich hatte weniger die frage wie sich die sortieralgorythmen unterscheiden oder wo man die nach gucken kann.. deshalb verweis ich noch mal auf die Überschrift.
Denn mein Problem ist, dass ich zwar Zahlen sortieren kann, aber das bei Buchstaben nicht hinbekomme.
Soll zum Beispiel anna sortiert werden kommt nur : aa oder wenn besen sortiert wird nur : b
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: Sortieren von Buchstaben in einer Listbox

  Alt 21. Sep 2009, 17:17
Zitat:
Delphi-Quellcode:
var i, j: integer; Merke : string;
begin
   i:=2;
   while i < Laenge do
   begin
      i:=i+1; //i ist jetzt 3, ist das Absicht?
      Merke:= Zahl[i];
      j:= i; //j ist jetzt auch 3
      //Man könnte die Buchstaben auch ohne Stringfunktionen direkt vergleichen
      while ((j > 1)and (ansicomparestr(Zahl[j-1], Merke)> 0 )) do
      begin
        //Das Folgende ist kein Tausch!
        Zahl[j] := Zahl[j-1];
        j := j-1;
      end;
      //Jetzt müssten die ersten beiden Buchstaben gleich sein (s.o.)
      //Erster Buchstabe bekommt jetzt den Wert des vormals 3.
      Zahl[j] := Merke;
   end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Sortieren von Buchstaben in einer Listbox

  Alt 21. Sep 2009, 19:12
Hallo,

der ganz normale String-Vergleich sollte doch reichen ?

Delphi-Quellcode:
sStr_1:= 'anna';
sStr_2:= 'besen';
bBool:= sStr_1<sStr_2;
bBool wäre True;

Man könnte auch noch UpperCase
und auch AnsiCompareStr+UpperCase benutzen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#8

Re: Sortieren von Buchstaben in einer Listbox

  Alt 21. Sep 2009, 20:18
AnsiCompareStr+UpperCase = AnsiCompareText

ist bei vielen Prozeduren dieser Art so:
...Str = CaseSensitive
...Text = nicht CaseSensitive
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:35 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