Ich habe eine dynamische Array-Hosts:SimGrid. Wie schreibe ich Komparator?
xbt_dynar_t dynar_host = xbt_dynar_new(sizeof(MSG_host_t), NULL);
Jeder Host in Flops Informationen über seine Geschwindigkeit enthält. Ich möchte es nach der Geschwindigkeit ihres Hosts sortieren. In der Dokumentation habe ich die Funktion xbt_dynar_sort gefunden. Diese Funktion akzeptiert zwei Parameter: das dynamische Array selbst und den Komparator int_f_cpvoid_cpvoid_t compar_fn
.
Irgendwelche Ratschläge oder Beispiel wie kann dieser Komparator geschrieben werden?
Vergleichen von Werten durch Subtraktion ist nie eine gute Idee. In diesem Fall könnte das Ergebnis inf, NaN, außerhalb des Bereichs oder ein Bruchwert sein, die alle in eine int-Ausbeute umgewandelt wurden, entweder ein ungültiges Ergebnis oder ein undefiniertes Verhalten. – 2501
Ok, @ 2501. Ich habe meinen Code aktualisiert und einen kleinen Abschnitt hinzugefügt, der die komplexe resultierende Syntax erklärt. Danke fürs bemerken! –