Di sini kita akan melihat perbezaan antara qsort() dalam C dan sort() dalam C++.
Bahasa C menyediakan fungsi qsort(), yang boleh digunakan untuk mengisih tatasusunan. Parameter dan sintaks fungsi ditunjukkan di bawah.
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
Fungsi ini menerima alamat asas tatasusunan, bilangan elemen dalam tatasusunan, saiz setiap item dalam tatasusunan dan fungsi perbandingan.
C++ menyediakan fungsi sort(), yang terletak dalam C++ STL. Parameter dan sintaksnya ditunjukkan di bawah.
void sort(T first, T last, Compare c);
Tiada jaminan bahawa susunan elemen berulang terpelihara. Untuk mencapai tujuan ini, kita boleh menggunakan stable_sort yang disediakan oleh C++ STL.
qsort() dalam C | sort() dalam C++ |
---|---|
Ia menggunakan algoritma isihan pantas. | Ia menggunakan introsort. Ini adalah algoritma pengisihan hibrid. Pelaksanaan yang berbeza menggunakan algoritma yang berbeza. GNU C++ STL menggunakan jenis hibrid tiga bahagian. Introsort, Quicksort dan Insertion Sort. |
Piawaian C tidak menyebut | isu ini. |
Atas ialah kandungan terperinci Perbezaan antara C qsort() dan C++ sort(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!