Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

VISISORT.BAS aus der MonsterFAQ 2

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 11.05.2006, 22:13    Titel: VISISORT.BAS aus der MonsterFAQ 2 Antworten mit Zitat

Hi,
das Programm VISISORT.BAS aus der MonsterFAQ 2 ist in QBasic geschrieben und zeigt die Arbeitsweise einiger Sortieralgorithmen auch visuell an.
Mit einigen Änderungen läuft es auch in FB (natürlich wesentlich schneller grinsen ).

Erstaunlich schnell läuft das Rapidsort, ein sehr ungewöhnlicher Sortieralgorithmus, den ich vorher nicht kannte.

Für eigene Tests, hier ist die BAS-Datei für FB:
EDIT/ http://nopaste.freebasic.de/?view=357

Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.


Zuletzt bearbeitet von volta am 12.05.2006, 22:20, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 12.05.2006, 19:26    Titel: Antworten mit Zitat

Klasse, ein beeindruckender Test.
Wie zu erwarten ist BubbleSort wirklich der langsamste Algorithmus..
Mein Favorit QuickSort wird leider nicht rekursiv ausgeführt traurig
QuickSort schlägt sich aber tapfer und wird nur von QuickSort2
überholt, von RapidSort mal abgesehen..
visisort.bas hat Folgendes geschrieben:
' RapidSort berichtigt und nun lauffähig.
'Eignet sich nur zum sortieren von ubyte, ushort oder uinteger Werten.
'Dieser Sortieralgorithmus ist zwar sehr schnell, aber
'bei größeren Zahlenwerten (HiVal) wird ein riesiges
'Array (SortArray(LoVal TO HiVal)) entstehen, welches schnell
'die Speichergrenzen überschreitet und Fehler produzieren kann.
Das ist sehr schade..
Wäre natürlich interessant zu erfahren, wie sich der in FB eingebaute QSort in diesem Vergleich
behauptet(..\inc\crt\stdlib.bi) oder mein QSort(QSort.Pas), der rekursiv arbeitet..
[Edit]
..und jetzt auch als QSort.Bas verfügbar ist zwinkern

Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 12.05.2006, 22:11    Titel: Antworten mit Zitat

Hi,
war eine gute Idee ytwinky, ich hab 'FB_qsort' in den Test eingebunden.
(arbeitet vermutlich auch rekursiv und ... geschockt )
http://www.freebasic.de/fbnp/?view=357

Schade, dein QSort.bas habe ich grad erst entdeckt, wird auch eingebaut grinsen .
weinen irgendwie muss ich visisort etwas straffen, mit 14,91k bin ich hart an der nopaste-upload-grenze.

Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 12.05.2006, 22:27    Titel: Antworten mit Zitat

Entschuldigung grinsen
Es hat ein wenig gedauert, QSort.Pas nach QSort.Bas zu portieren..
Aber alles in Allem betrachtet sieht das FB-File logischer aus als das pascal-file..
schon wegen der
Code:
procedure ..
  procedure ..
  end;
end;
Konstruktion, die nur pascalisten verstehen..
[Edit]
Bitte, laß mich gewinnen vor lachen auf dem Boden rollen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 12.05.2006, 23:31    Titel: Antworten mit Zitat

@Volta: wenn du eigenen Webspace hast lad die bas-datei hoch und gib dann einfach die URL im Nopaste ganz unten ein, dann is die größe egal lächeln
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 13.05.2006, 23:10    Titel: Antworten mit Zitat

Selbverständlich habe ich aus Neugier erstmal meinen QSort bei visisort eingebaut grinsen
Mein Qsort belegt wechselweise Platz 3 oder 4(hinter RapidSort und Quicksort)
Einige Code-Optimierungen habe ich auch vorgenommen, denn
irgendwas\2 ist gleich Int(irgendwas/2) und somit schneller..
i=i+1 durch i+=1 zu ersetzen, brachte nicht den erhofften Erfolg
Das Ergebnis steht hier..
Den eingebauten QSort überlasse ich volta grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 14.05.2006, 11:25    Titel: Antworten mit Zitat

Hi,
nur die 'schnelleren' Sortierroutinen habe ich in einem Prog zusammengestellt und die Visualisierung rausgenommen.
http://nopaste.freebasic.de/?view=358

@ytwinky, wie du auch bemerkt hast, bringen einige Schreibweisen in FB kaum oder keine Geschwindigkeitsvorteile ( der ASM-Code ist oft sogar der gleiche).
Dein QSort habe ich mal versucht durch ASM etwas zu tunen grinsen auch nur mit mäßigem Erfolg. FB ist schon verdammt schnell.
In alten QB-Progs konnte ich immer wieder lesen das iterative Routinen schneller waren als rekursive. Das scheint auch bei FB zuzutreffen.

Gruß Volta
PS. kleiner Tip für diejenigen die auch den BE verwenden:
gebt bei RESFILE '-r' ein dann bleibt die asm-Datei erhalten.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 14.05.2006, 13:35    Titel: Antworten mit Zitat

Hi volta,
was hältst du denn von der Idee, aus einem der schnelleren(ich meine damit nicht unbedingt YQSort grinsen )
eine pointergestützte Engine zu machen, die vom ArrayTyp unabhängig ist?
Naja, aufwärts- und abwärts sortieren ist keine große Aufgabe..
(Das geht mit variablen Parametern, für die, dies nicht wußten..)
Mit einer Engine ließen sich dann auch eigene Typen sortieren, je nach Feld..
..es gibt viel zu tun, lassen wirs liegen lachen
btw:
PaulSquires hat die Version 1.70 vom JellyFishPro Editor herausgegeben.
Der unterstützt jetzt auch ein (englisches) HelpFile, eine deutsche Sprachdatei gibt es nicht..
Gruß
ytwinky
[Edit]
deutsche sprache schwerre sprache vor lachen auf dem Boden rollen
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 14.05.2006, 14:55    Titel: Antworten mit Zitat

ytwinky hat Folgendes geschrieben:
PaulSquires hat die Version 1.70 vom JellyFishPro Editor herausgegeben.
Der unterstützt jetzt auch ein (englisches) HelpFile, eine deutsche Sprachdatei gibt es nicht..
Klasse Teil Daumen rauf!
und wenn die deutsche 'FB-Ref-German-19-03-2006.chm' in FB.chm umbenannt und in das gleiche Verzeichnis wie JellyFish gespeichert wird, lässt sich mit F1 auch die Online-Hilfe in deutsch ausgeben. happy


ytwinky hat Folgendes geschrieben:
was hältst du denn von der Idee, aus einem der schnelleren(ich meine damit nicht unbedingt YQSort grinsen )
eine pointergestützte Engine zu machen, die vom ArrayTyp unabhängig ist?
mmm.., macht die qsort aus FB schon, wenn auch etwas lahm mit den Augen rollen (und zu kompliziert verwundert ) ...ja würde mich schon reizen.

Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 14.05.2006, 15:18    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
und wenn die deutsche 'FB-Ref-German-19-03-2006.chm' in FB.chm umbenannt und in das gleiche Verzeichnis wie JellyFish gespeichert wird, lässt sich mit F1 auch die Online-Hilfe in deutsch ausgeben. happy
Das muß einem alten Mann doch gesagt werden mit dem Kopf durch die Mauer wollen
..ich hatte das noch gar nicht probiert..
EIN ECHT HEIßER TIPP!!
Danke..
[Edit]
Ich habe mal die GrafikAusgabe komplett entfernt
Von den QuickSorts scheint der QuickSort 2 der Schnellste zu sein.
[Edit2]
Es bleiben für mich nur 2 QuickSorts übrig, nämlich die, die kein ZusatzArray erzeugen
..und von diesen ist der ohne ASM für mich einfacher zu handlen
==> YQSort grinsen
..und YQSort kann nicht nur Doubles sortieren, sondern auch mit Pointern..
aber noch nicht mit ANY PTR verwundert
Also, YQSort.Bas sortiert jetzt doppelt genau und auf-/abwärts
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 04.06.2006, 20:22    Titel: Antworten mit Zitat

Paul Squires hat am 27.05.2006 die neue Version 1.71 vom JellyfishPro Editor
freigegeben und ich habe sie gerade heruntergeladen und installiert.
(Letzte Änderungen vom 03.06.2006 sind bereits enthalten..)
Die deutsche Hilfe-Datei(19.03.2006) kann benutzt werden.
Ich weiß noch nicht, wie sich die neue Version in der Praxis macht,
aber eine Alternative zur FBIde ist sie allemal..
(Nicht nur wg. 'Organize User Tools')
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 27.01.2007, 23:59    Titel: Antworten mit Zitat

Der Vollständigkeit halber möchte ich erwähnen, daß PaulSquires eine neue Version
vom JellyFishProEditor herausgegeben hat..
In V1.72 hat er die Schwierigkeiten mit Spaces in langen Dateinamen dadurch 'beseitigt', daß er kurze DateiNamen verwendet..
..Anmerkung von Peter Harder dazu(gekürzt):Das geht so nicht bei allen Windowsversionen..
Schaunwermal
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 01.08.2007, 17:17    Titel: Antworten mit Zitat

Hi,
VisiSort.Bas war leider nicht ganz ohne Probleme nach FB0.17f zu übertragen..
Dank volta's Hilfe ist es nun aber fast geschafft und steht als VisiSortmg.Bas zum DL zur Verfügung..
Fbc meldet noch zwei Warnungen, aber das Programm läuft..
(Interessierte können noch den AsmQSort reinbasteln..)
Sicherlich finden aufmerksame Leser kleine Unterschiede zu VisiSort.Bas, das per FB-NoPaste vorhanden ist, diese sind aber 'kosmetischer' Natur und keine Veränderungen der Algorithmen selber..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 01.08.2007, 19:30    Titel: Antworten mit Zitat

geschockt
ytwinky hat Folgendes geschrieben:
Sicherlich finden aufmerksame Leser kleine Unterschiede zu VisiSort.Bas, das per FB-NoPaste vorhanden ist, diese sind aber 'kosmetischer' Natur ...
Kopf schütteln
Hey ytwinky, wo ist mein ASM_QSort geblieben???
So einfach aus 'kosmetischen Gründen' auskommentiert?
Jahrelang habe ich daran getüftelt und gefeilt .. lachen

Im Ernst, zwinkern ich schick dir eine Version ohne diese Fehlermeldungen aber mit ASM_QSort grinsen und für die 'Kosmetik' habe ich die Farbgebung (relativ zum langsamen BubbleSort) umgeschrieben.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 01.08.2007, 20:12    Titel: Antworten mit Zitat

Ich werde diesen Cast-Befehl wohl nie verstehen vor lachen auf dem Boden rollen
Aber jetzt wird das Programm tatsächlich ohne Warnungen kompiliert..
..und da du so auf deinen in jahrelanger, mühevoller Kleinarbeit entwickelten ASM_QSort() Wert legst..
..ruft der sich in der neuen Version eben nur noch selbst auf lachen
(mit dem Ergebnis, daß er der schnellste (Quick-Sort)-Algorithmus ist..)
Danke jedenfalls für die schnelle Problemlösung! Daumen rauf!
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 01.08.2007, 20:44    Titel: Antworten mit Zitat

Das war ein Gag!
Ich wundere mich warum mein ASM_QSort nicht schneller wird, und habe deinen Hinweis glatt überlesen.
Und jetzt Yahooo!!!! macht sich diese jahrelange Schufterei bezahlt, Daumen rauf! ytwinky
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 01.08.2007, 20:48    Titel: Antworten mit Zitat

Ein eingespieltes Team. grinsen lachen
ytwinky, der, der mit der Rekursion tanzt...und volta, dessen Muttersprache ASM zu sein scheint lachen
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz