1. **查找和比较**: - `find`:在范围内查找元素。 - `find_if`:在范围内查找满足指定条件的元素。 - `count`:统计范围内满足条件的元素个数。 - `count_if`:统计范围内满足指定条件的元素个数。 - `equal`:比较两个范围是否相等。 - `lexicographical_compare`:按字典序比较两个范围。 ```cpp #include #include #include using namespace std; int main() { vector vec = {1, 2, 3, 4, 5}; // 查找元素 auto it = find(vec.begin(), vec.end(), 3); if (it != vec.end()) { cout << "Element found: " << *it << endl; } // 查找满足条件的元素 auto it2 = find_if(vec.begin(), vec.end(), [](int x) { return x > 3; }); if (it2 != vec.end()) { cout << "Element > 3 found: " << *it2 << endl; } // 统计元素个数 int num = count(vec.begin(), vec.end(), 2); cout << "Number of 2s: " << num << endl; // 比较两个范围 vector vec2 = {1, 2, 3}; bool result = equal(vec.begin(), vec.end(), vec2.begin(), vec2.end()); if (result) { cout << "Vectors are equal" << endl; } else { cout << "Vectors are not equal" << endl; } return 0; } ``` 2. **排序和操作**: - `sort`:对范围内的元素进行排序。 - `reverse`:反转范围内的元素顺序。 - `copy`:将范围内的元素复制到另一个位置。 - `remove`:移除范围内满足条件的元素(不会改变容器大小)。 - `remove_if`:移除范围内满足指定条件的元素(不会改变容器大小)。 - `transform`:对范围内的元素执行指定操作。 ```cpp #include #include #include using namespace std; int main() { vector vec = {5, 3, 1, 4, 2}; // 排序 sort(vec.begin(), vec.end()); // 反转元素顺序 reverse(vec.begin(), vec.end()); // 复制元素到另一个位置 vector vec2(5); copy(vec.begin(), vec.end(), vec2.begin()); // 移除元素 vec.erase(remove(vec.begin(), vec.end(), 3), vec.end()); // 对元素执行操作 transform(vec.begin(), vec.end(), vec.begin(), [](int x) { return x * 2; }); // 输出元素 for (auto& num : vec) { cout << num << " "; } cout << endl; return 0; } ```