مرتب سازی با مقایسه کننده


مرتب سازی با مقایسه کننده
یک بردار (مانند یک آرایه)  را می توان با استفاده از تابع sort() مرتب کرد. اما این تابع به طور پیش‌فرض به ترتیب صعودی مرتب می‌شود. برای ​​مرتب‌سازی یک آرایه به ترتیب متفاوت، باید از مقایسه‌کننده  استفاده کنید - تابعی که ترتیب مرتب‌سازی را با مقایسه دو شی تنظیم می‌کند. .
 
مثال
نمونه ای از مقایسه کننده که عناصر یک آرایه را به ترتیب صعودی مرتب می کند. bool cmp (int اول، int دوم) { ابتدا بازگشت < دومین؛ }
و مرتب سازی بردار A با استفاده از مقایسه کننده ایجاد شده: sort(A.begin()، A.end()، cmp); به تکرارکننده‌ها فکر کنید

با توجه به شرط مشکل مشخص می شود که باید مرتب سازی stable (stable) را اعمال کرد، بنابراین به جای sort باید از stable_sort استفاده کرد.

شما همچنین می توانید یک شی تابع را به عنوان مقایسه کننده تعیین کنید که می توانید قبل از فراخوانی تابع مرتب سازی ایجاد کنید.
به عنوان مثال:
ایجاد شد
ساختار {
        bool اپراتور()(intint b) const
        {
            بازگشت a < b;
        }
    }cmp;