Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Isih Senarai Struktur Tersuai dalam Susunan Menurun Menggunakan Fungsi Isih STL?

Bagaimana untuk Isih Senarai Struktur Tersuai dalam Susunan Menurun Menggunakan Fungsi Isih STL?

Barbara Streisand
Barbara Streisandasal
2024-11-09 04:44:02818semak imbas

How to Sort a List of Custom Structs in Descending Order Using STL's Sort Function?

Isih Senarai Menggunakan Fungsi Isih STL: Mengatasi Ralat Penyusunan

Dalam cuba mengisih senarai yang mengandungi contoh struct tersuai dalam tertib menurun, anda mengalami ralat penyusunan berkisar tentang ketiadaan operator '-' untuk senarai 'Result'. Ralat ini berpunca daripada ketidakpadanan antara keperluan fungsi isihan untuk iterator capaian rawak dan iterator dwiarah yang dikembalikan oleh std::list::begin() dan std::list::end().

Untuk menyelesaikan masalah ini isu, adalah dinasihatkan untuk menggunakan fungsi ahli std::list::sort, yang disesuaikan untuk berfungsi dengan iterator dwiarah. Fungsi ini mengambil hujah yang sama seperti std::sort dan secara dalaman menggunakan algoritma pengisihan yang dioptimumkan untuk senarai.

Berikut ialah ilustrasi cara menggunakan fungsi std::list::sort untuk senario khusus anda:

Result.poly.sort([](const term& t1, const term& t2) {
    return t2.pow < t1.pow;
});

Dengan pelarasan ini, ralat kompilasi akan diselesaikan dan kod anda akan mengisih senarai 'poli' dalam tertib menurun berdasarkan ahli 'pow' unsur 'istilah' konstituennya.

Atas ialah kandungan terperinci Bagaimana untuk Isih Senarai Struktur Tersuai dalam Susunan Menurun Menggunakan Fungsi Isih STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn