Bifalgorithm post · Computer science one · Examples

Why are qsort(), lfind(), and bsearch() useful for generic programming?

Why are qsort(), lfind(), and bsearch() useful for generic programming? (Computer science one · Examples) — "The advantages to using qsort() (as well as lfind(…

Ideas in this flowchart

  • Die Vorteile der Verwendung von qsort(), lfind() und bsearch() ergeben sich aus Wiederverwendung und Polymorphismus.
  • Die Bibliotheksfunktionen vermeiden separate Implementierungen für jede mögliche Ordnung und jede benutzerdefinierte Struktur.
  • Für qsort() muss lediglich eine Vergleichsfunktion erstellt und übergeben werden.
  • Die Wiederverwendung führt zu weniger Code und verringert die Fehlerwahrscheinlichkeit.
  • qsort() ist gut entworfen, optimiert, umfassend getestet und bewährt.
  • Diese Funktionen zeigen eine schwache Form polymorphen Verhaltens.
  • Polymorphismus bedeutet, dass derselbe Code mit verschiedenen Typen ausgeführt werden kann.
  • Dadurch wird der Bedarf an doppeltem Code stark reduziert.
  • Ein ähnliches Prinzip findet sich in modernen objektorientierten und generisch programmierenden Sprachen.
Feed/

Why are qsort(), lfind(), and bsearch() useful for generic programming?

No cover

Channel

Computer science one

1 page

"The advantages to using qsort() (as well as lfind() and bsearch()) should be clear. There is no need to write a new function that reimplements the same algorithm for every possible ordering of every possible user-defined structure. We need only to create a comparator function and pass it to qsort(). There is less code, and less chance of bugs. The qsort() function is well-designed, optimized, and most importantly well-tested and proven. These functions represent a sort of “weak” form of polymorphic behavior found in more modern object-oriented programming languages and other languages that support “generic programming.” Polymorphism is the characteristic that the same code can be executed on different types, greatly reducing the need for duplicate code."

Flowchart preview
👍
0
0 comments0 shares

Sign in to view and post comments.