Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Computer Science. Textbook
C++. Struktur Data Dinamik
Isih dengan pembanding
Isih dengan pembanding
Vektor (seperti tatasusunan) boleh diisih menggunakan fungsi
sort()
. Tetapi fungsi ini diisih dalam tertib menaik secara lalai. Untuk mengisih tatasusunan dalam susunan yang berbeza, anda perlu menggunakan apa yang dipanggil
pembanding
- fungsi yang menetapkan susunan isihan dengan membandingkan dua objek .
Contoh
Contoh pembanding yang menyusun elemen tatasusunan dalam tertib menaik.
bool cmp(int pertama, int kedua) { kembali dahulu < kedua; }
dan mengisih vektor
A
menggunakan pembanding yang dibuat:
sort(A.begin(), A.end(), cmp);
Fikirkan tentang iterator
Mengikut keadaan masalah, adalah jelas bahawa ia perlu menggunakan pengisihan
stabil
(stabil), oleh itu, bukannya isihan, stable_sort harus digunakan.
anda juga boleh menentukan objek fungsi sebagai pembanding, yang boleh anda cipta sebelum memanggil fungsi isihan.
Contohnya:
struktur
{
bool
pengendali
()(
int
a,
int
b)
const
{
kembali
a
<
b; } }cmp;