cybop-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cybop-developers] Sort


From: Christian Heller
Subject: [cybop-developers] Sort
Date: Tue, 29 Nov 2016 14:32:36 +0100
User-agent: KMail/4.14.1 (Linux/3.16.0-4-686-pae; KDE/4.14.2; i686; ; )

Hallo Gruppe "sort",

zu Beginn:
Der "segmentation fault" Error gestern stammte daher, dass in
"apply_quicksort" das Argument nicht als Referenz (void**) übergeben
wurde. Habe ich korrigiert.

Desweiteren habe ich die Array-Erweiterung durch die "overwrite_array"-
Funktion nochmals geprüft. Läuft korrekt. Siehe Datei "quicksorter.c".

Wenn im Beispiel "howToQuicksort.cybol" das "result" (output)-Array
auf die gleiche Größe wie das "unsorted" (input)-Array gesetzt wird,
dann funktionieren sowohl Ihre wie auch meine Implementierung von sort.

Wenn dagegen ein kleineres "result"-Array verwendet wird, dann kommen
fehlerhafte Werte zustande (u. A. 0 und Zeigerwerte in der Ausgabe).
Das wäre aber höchstwahrscheinlich mit Ihrer Lösung ebenfalls der Fall.

Es ist nach wie vor nicht ganz klar, wo der Fehler liegt.
Da jedoch die CYBOI-"overwrite_array"-Funktion an vielen Stellen
genutzt wird, ist es sehr unwahrscheinlich, dass sie Fehler enthält.
Falls doch, so wäre ich dankbar für Hinweise.

Ansonsten aber bitte nochmal die "sort"-Funktion prüfen.
Evtl. können Sie ja selbst das Array vergrößern, unter Umgehung von:
        if(*((int* ) imc) == *((int* ) omc))
und schauen, ob der Fehler auch damit kommt.

Hinweis:
Die CYBOI-"overwrite_array"-Funktion vergrößert das "result"-Array
unter Umständen auf das doppelte der nötigen Speichergröße, was in der
"size"-Variablen steht. Die korrekte Anzahl der zu berücksichtigenden
Elemente hingegen steht in der "count"-Variablen.
Könnte dies einen Einfluss auf "sort" haben?
Dürfte es meiner Meinung nach nicht, da nur "count" übergeben wird.

Ich committe jetzt alles ins SVN und höre erstmal mit dem Debuggen auf,
bis Nachricht von Ihnen kommt.

Viele Grüße
Christian Heller




reply via email to

[Prev in Thread] Current Thread [Next in Thread]