#include <iostream> #include <vector> #include <algorithm> #include <numeric>
int main() { std::vector<int> numbers = {5, 2, 8, 1, 9, 3, 7, 4, 6};
std::sort(numbers.begin(), numbers.end()); std::cout << "排序后: "; for (int num : numbers) { std::cout << num << " "; } std::cout << std::endl;
std::sort(numbers.rbegin(), numbers.rend()); std::cout << "反向排序: "; for (int num : numbers) { std::cout << num << " "; } std::cout << std::endl;
int target = 5; auto it = std::find(numbers.begin(), numbers.end(), target); if (it != numbers.end()) { std::cout << "找到 " << target << " 在位置: " << std::distance(numbers.begin(), it) << std::endl; }
std::sort(numbers.begin(), numbers.end()); bool found = std::binary_search(numbers.begin(), numbers.end(), 5); std::cout << "二分查找5: " << (found ? "找到" : "未找到") << std::endl;
int sum = std::accumulate(numbers.begin(), numbers.end(), 0); std::cout << "总和: " << sum << std::endl;
auto [minIt, maxIt] = std::minmax_element(numbers.begin(), numbers.end()); std::cout << "最小值: " << *minIt << ", 最大值: " << *maxIt << std::endl;
int count = std::count(numbers.begin(), numbers.end(), 5); std::cout << "5的个数: " << count << std::endl;
std::vector<std::string> words = {"apple", "banana", "cherry", "date"}; std::sort(words.begin(), words.end(), [](const std::string& a, const std::string& b) { return a.length() < b.length(); });
std::cout << "按长度排序: "; for (const std::string& word : words) { std::cout << word << " "; } std::cout << std::endl;
return 0; }
|