ソートアルゴリズム
メニューを表示するにはスワイプしてください
データを効率的に整理することは、ソフトウェア開発において不可欠です。C++の**Standard Template Library (STL)は、シーケンスをソートするための堅牢で高性能なアルゴリズムを提供します。主なソートアルゴリズムは、std::sortとstd::stable_sort**の2つです。
どちらのアルゴリズムもカスタムコンパレータを受け入れ、要素の並び順を正確に定義できます。コンパレータは厳密な弱順序を定義し、一貫性があり副作用がない必要があります。
main.cpp
1234567891011121314151617181920212223242526272829#include <algorithm> #include <iostream> #include <string> #include <vector> struct Person { std::string name; int age; }; int main() { std::vector<Person> people = { {"Alice", 30}, {"Bob", 25}, {"Charlie", 35}, {"Diana", 25} }; // Sort by age, then by name std::sort(people.begin(), people.end(), [](const Person& a, const Person& b) { if (a.age != b.age) return a.age < b.age; return a.name < b.name; }); for (const auto& person : people) std::cout << person.name << " (" << person.age << ")\n"; }
Note
等しい要素の相対的な順序を保持する必要がある場合は、std::stable_sortを使用。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 10
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 10