AVLTree, Natsort, Queue, Stack, Stopwatch

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

Artemis

Betreff: AVLTree, Natsort, Queue, Stack, Stopwatch

BeitragMi, Nov 23, 2011 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich habe vor ewiger Zeit ein paar kleine Module implementiert. Sind alle nichts großes, aber da ich sie heute wiedergefunden habe und selber BlitzMax schon länger nicht mehr benutze habe ich mir gedacht, ich könnte die Module mal zu Verfügung stellen, falls sie jemand gebrauchen kann.

  • AVLTree: Die Implementierung eines AVL-Baums (balancierter binärer Suchbaum) für den Object-Typ
  • Natsort: Ein Wrapper für die C-Funktionen von Martin Pool, die das natürliche Vergleichen von Strings erlaubt, d.h. "Datei5.txt" ist kleiner als "Datei10.txt", anders als bei normalem Stringvergleich
  • Queue: Eine Queue-Implementierung für Object
  • Stack: Eine Stack-Implementierung für Object
  • Stopwatch: Eine Stoppuhr-Klasse - die Stoppuhren kann man starten, pausieren/stoppen, weiterlaufen lassen, resetten.


DOWNLOAD: https://www.blitzforum.de/upload/file.php?id=11252

EDIT:
- 23.12.11 09:09: Korrigierte Version hochgeladen - Fehler in Stack-Implementierung
  • Zuletzt bearbeitet von Artemis am Fr, Dez 23, 2011 10:10, insgesamt 2-mal bearbeitet
 

Shaman

BeitragSo, Nov 27, 2011 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
genial,
sehr nützlich
  • Zuletzt bearbeitet von Shaman am Do, Dez 29, 2011 12:23, insgesamt einmal bearbeitet

Firstdeathmaker

BeitragFr, Dez 16, 2011 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab einen vermeintlichen Fehler in der Stack-Implementation gefunden:

Code: [AUSKLAPPEN]
   Method pop:Object()
      If Null = Self._top Then Return Null
      Local tmp:Object = Self._top
      Self._top = Self._top.getNext()
      Return tmp
   EndMethod


Die pop-Funktion returnt nicht den eingespeicherten "Value" sondern das (interne) TStackElement. Soll das so sein?

Verbesserungsvorschlag:

Code: [AUSKLAPPEN]
   Method pop:Object()
      If Null = Self._top Then Return Null
      Local tmp:Object = Self._top._value
      Self._top = Self._top.getNext()
      Return tmp
   EndMethod

Artemis

BeitragFr, Dez 23, 2011 10:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Richtig Firstdeathmaker. Danke für den Hinweis. Habe eine korrigierte Version hochgeladen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group