Rate this post

Hàm sort trong C++ là một hàm của thư viện STL (Standard Template Library) có sẵn trong ngôn ngữ C++. Nó có chức năng sắp xếp một dãy số hoặc một dãy ký tự theo thứ tự tăng dần hoặc giảm dần.

Các bài viết liên quan:

Cú pháp cơ bản của hàm sort như sau:

sort(begin, end);

Trong đó, “begin” là con trỏ đến phần tử đầu tiên của dãy cần sắp xếp, và “end” là con trỏ đến phần tử cuối cùng của dãy (nhưng không bao gồm phần tử này trong dãy sắp xếp).

Ví dụ:

int arr[] = {3, 2, 1, 4, 5};
int n = sizeof(arr)/sizeof(arr[0]);
sort(arr, arr+n);

Trong ví dụ trên, hàm sort sẽ sắp xếp dãy số tăng dần từ phần tử thứ 0 đến phần tử thứ n-1. Kết quả sau khi gọi hàm sort là: [1, 2, 3, 4, 5]

Hàm sort có thể sắp xếp các dạng dữ liệu khác nhau như vector, string, array,… và có thể chỉ định phương thức sắp xếp giảm dần hoặc sử dụng custom comparator function.

Ưu điểm của hàm sort trong c++

  1. Hiệu quả: Hàm sort trong C++ có thể sắp xếp các dãy dữ liệu lớn một cách nhanh chóng và hiệu quả bằng cách sử dụng các thuật toán sắp xếp như Quick sort, Merge sort.
  2. Tiện dụng: Hàm sort rất dễ sử dụng và tiện dụng, chỉ cần truyền vào 2 con trỏ đến vị trí bắt đầu và kết thúc của dãy cần sắp xếp.
  3. Tùy chỉnh: Hàm sort có thể chỉ định phương thức sắp xếp giảm dần hoặc sử dụng custom comparator function để sắp xếp theo yêu cầu cụ thể.
  4. Tương thích: Hàm sort có thể sắp xếp các dạng dữ liệu khác nhau như vector, string, array,…
  5. Tiêu chuẩn: Hàm sort là một phần của thư viện STL (Standard Template Library) của C++, nên được sử dụng rộng rãi và được kiểm soát chặt chẽ về chất lượng và tính nhất quán.

Một số ví dụ sử dụng hàm sort trong c++

  1. Sắp xếp một mảng số nguyên tăng dần:
int arr[] = {3, 2, 1, 4, 5};
int n = sizeof(arr)/sizeof(arr[0]);
sort(arr, arr+n);
  1. Sắp xếp một vector số thực giảm dần:
vector<double> v = {3.14, 2.718, 1.41, 1.618};
sort(v.begin(), v.end(), greater<double>());
  1. Sắp xếp một chuỗi theo thứ tự từ Z-A:
string s = "OpenAI";
sort(s.begin(), s.end(), greater<char>());
  1. Sắp xếp một mảng cấu trúc theo trường “age”:
struct Person {
    string name;
    int age;
};

Person people[] = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 20}};
int n = sizeof(people) / sizeof(people[0]);
sort(people, people + n, [](const Person &a, const Person &b) {
    return a.age < b.age;
});

Trong các ví dụ trên, hàm sort sẽ sắp xếp dữ liệu tương ứng theo thứ tự tăng dần hoặc giảm dần. Các bạn có thể thay đổi và tùy chỉnh theo nhu cầu của bạn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now