Сегодня поговорим про компараторы — ключевой инструмент для сортировки в STL.
Это функции, которые задают правила сравнения элементов. Они позволяют сортировать данные не только по возрастанию, но и в произвольном порядке.
Для начала, напишем простую функцию-компаратор для сортировки по возрастанию:
И также используем этот компаратор для сортировки вектора:
Однако, если компаратор нужен только один раз, лучше использовать лямбда-функцию. Например, чтобы отсортировать данные по убыванию:
🔥 Поэтому, всё это позволяет гибко управлять сортировкой и делать ваш код более выразительным для работы с данными.
📣 C++ Ready | #практика
Это функции, которые задают правила сравнения элементов. Они позволяют сортировать данные не только по возрастанию, но и в произвольном порядке.
Для начала, напишем простую функцию-компаратор для сортировки по возрастанию:
bool compare(int a, int b) {
return a < b; // Возвращает true, если a меньше b
}
И также используем этот компаратор для сортировки вектора:
std::vector<int> vec = {5, 3, 8, 1, 2};
std::sort(vec.begin(), vec.end(), compare);
// Теперь vec содержит: 1, 2, 3, 5, 8
Однако, если компаратор нужен только один раз, лучше использовать лямбда-функцию. Например, чтобы отсортировать данные по убыванию:
std::sort(vec.begin(), vec.end(), [](int a, int b) {
return a > b; // Сортировка по убыванию
});
// Теперь vec содержит: 8, 5, 3, 2, 1
🔥 Поэтому, всё это позволяет гибко управлять сортировкой и делать ваш код более выразительным для работы с данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥7
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22🤝6👍5
std::filesystem — предоставляет функционал для работы с файлами и директориями, позволяет выполнять итерацию по содержимому директорий и получать информацию о файлах, например, их размер.
Основные возможности и общий функционал читай на картинках выше👆
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
Roadmap.sh — сайт, на котором собран план обучения для всех IT направлений. Все темы схематично отображены в нужной последовательности для поэтапного изучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2👎1😁1
Вот и конец 2024 года... Каждого хочу поблагодарить за поддержку, каналу всего 4 месяца, а уже такие результаты. Желаю чтобы в новом году каждый выполнил свои цели и стал лучше версией себя.
С наступающим новым годом!🥂
С наступающим новым годом!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍5😁2
Это важный аспект программирования на C++, так как язык предоставляет разработчику возможность контролировать выделение и освобождение памяти.
Основные моменты:
• Выделение памяти — new для выделения памяти в динамической памяти.
• Освобождение памяти — delete для освобождения выделенной памяти.
• Массивы — Для массивов используйте new[] и delete[].
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝47🔥23👍2