Xây Dựng Comparison Function Cho Hàm Sort Trong C++
Xây dựng comparison function
Hàm so sánh khi sử dụng hàm sort chính là tham số thứ 3 mà bạn sẽ truyền vào hàm khi sắp xếp mảng, vector.
Hàm này có kiểu trả về là true hoặc false và có 2 tham số với kiểu dữ liệu tương ứng với mảng mà bạn muốn sắp xếp.
Tên của hàm so sánh do chúng ta đặt, ví dụ là cmp.
Cú pháp hàm so sánh :
bool cmp(data_type x, data_type y){ //logic }
Logic khi trả về giá trị của hàm so sánh :
- Nếu muốn x đứng trước y sau khi sắp xếp thì trả về true
- Nếu muốn x đứng sau y sau khi sắp xếp thì trả về false
x và y ở đây bạn có thể coi như đó là 2 giá trị trong mảng mà bạn cần sắp xếp, khi sắp xếp thì hàm sort cần so sánh giá trị giữa 2 phần tử này. Bạn chỉ cần kiểm tra xem thứ tự của x và y có thỏa mãn x sẽ đứng trước y theo thứ tự sắp xếp của mảng không thì bạn trả về true, ngược lạ trả về false.
Ví dụ như bạn muốn sắp xếp mảng tăng dần, vậy thì x nhỏ hơn y sẽ đứng trước y, khi đó bạn kiểm tra nếu x < y thì bạn trả về true, ngược lại trả về false.
Ví dụ 1 : Sắp xếp mảng giảm dần
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp1(int a, int b){
if(a > b)
return true;
else
return false;
}
int main(){
int a[] = {1, 3, 3, 3, 2, 1, 2, 4, 2, 4, 0, 2};
int n = 12;
sort(a, a + n, cmp1);
cout << "Mang giam dan : ";
for(int i = 0; i < n; i++){
cout << a[i] << " ";
}
}
Mang giam dan : 4 4 3 3 3 2 2 2 2 1 1 0
- [THÔNG BÁO] – Lịch bảo vệ Capstone 1&2 (chỉnh thức) và Một số lưu ý quan trọng
- Giới thiệu khoá học IPv6 Address Planning Course (APNIC Academy)
- NHỮNG KĨ NĂNG CẦN THIẾT CỦA SINH VIÊN NĂM NHẤT TRONG THỜI ĐẠI CÔNG NGHỆ SỐ
- Hướng dẫn cài đặt Flask cho ứng dụng Python trên aaPanel
- CẢNG BIỂN VÀ CÁCH VẬN HÀNH CẢNG BIỂN