c++基礎(排序)

Cplusplus-tutorial-in-hindi.jpg
有關排序作為一名搬磚工我幾乎每天都會用到,有關排序的演算法可能瞭解不多。最近在看資料結構和演算法。
不過在 c++11 版本之後給我們提供了內建 sort 方法,方便供我們使用,擴充套件性也不錯
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> values = {3, 5, 6, 1, 3, 8}; std::sort(values.begin(), values.end()); for (int value : values) { std::cout << value << std::endl; } std::cin.get(); }
在 sort 方法也接收最後一個引數為 lambda ,通過定義 lambda 來自定義排序規則。
std::sort(values.begin(), values.end(), [](int a, int b) { return a < b; });
我們通過下面演算法從小到排序,不同的是這次將 1 排到排尾。
std::sort(values.begin(), values.end(), [](int a, int b) { if (a == 1) return false; if (b == 1) return true; return a < b; });

titleShadow.png