В C++ функция sort()
используется для сортировки элементов массива. Вот несколько способов сортировки массива с помощью sort(arr, arr+n)
:
-
Сортировка целых чисел по возрастанию:
#include <algorithm> int main() { int arr[] = {5, 2, 8, 1, 3}; int n = sizeof(arr) / sizeof(arr[0]); std::sort(arr, arr + n); // Display the sorted array for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } return 0; }
-
Сортировка строк в лексикографическом порядке:
#include <algorithm> #include <iostream> #include <string> int main() { std::string arr[] = {"banana", "apple", "cherry", "date"}; int n = sizeof(arr) / sizeof(arr[0]); std::sort(arr, arr + n); // Display the sorted array for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } return 0; }
-
Сортировка пользовательских объектов с помощью компаратора:
#include <algorithm> #include <iostream> #include <vector> // Custom object struct Person { std::string name; int age; }; // Comparator function bool compareByName(const Person& a, const Person& b) { return a.name < b.name; } int main() { std::vector<Person> people = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 20}}; int n = people.size(); std::sort(people.begin(), people.end(), compareByName); // Display the sorted array for (const auto& person : people) { std::cout << person.name << " (" << person.age << ")" << std::endl; } return 0; }
-
Сортировка по убыванию.
По умолчаниюsort()
сортирует элементы в порядке возрастания. Для сортировки по убыванию можно использовать собственный компаратор.#include <algorithm> #include <functional> #include <iostream> int main() { int arr[] = {5, 2, 8, 1, 3}; int n = sizeof(arr) / sizeof(arr[0]); std::sort(arr, arr + n, std::greater<int>()); // Display the sorted array for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } return 0; }