Вопрос

Мне очень нравится qsort Функция в C. Настолько проста в использовании и позволяет мне прокладывать в изучение типов шаблонов C ++. У меня есть несколько вопросов по этому поводу:

  • Используется ли алгоритм всегда QuickSort или IT-компилятор-реализация зависит от?
  • Вы бы порекомендовали использовать эту функцию или есть настоящая выгода для шаблонов?
  • Есть ли какие-то вещи, чтобы избежать проблем безопасности / SegFaults?
Это было полезно?

Решение

Используется ли алгоритм всегда QuickSort или IT-компилятор-реализация зависит от?

Это зависит от реализации.

Вы бы порекомендовали использовать эту функцию или есть настоящая выгода для шаблонов?

C не имеет шаблонов. Если вам нужна универсальная функция сортировки в C, то qsort это хороший выбор.

Если вы собираетесь использовать C ++, то вы должны использовать std::sort, что намного легче использовать правильно и дает тип безопасности.

Есть ли какие-то вещи, чтобы избежать проблем безопасности / SegFaults?

Если вы используете функцию неправильно (например, если вы пройдете неверные параметры или если ваша функция сравнения имеет ошибки в нем), то ваша программа вполне может сбояться (или в противном случае выполнять неправильно). Конечно, это не специфично для qsort; Это верно для чего-либо, используемого в программе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top