// Test7.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <vector>
#include <string>
#include <algorithm>
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<std::string> singleValueVector;
singleValueVector.push_back("acid");
singleValueVector.push_back("acre");
singleValueVector.push_back("also");
singleValueVector.push_back("ache");
singleValueVector.push_back("ache");
singleValueVector.push_back("radio");
singleValueVector.push_back("able");
singleValueVector.push_back("ache");
singleValueVector.push_back("ache");
singleValueVector.push_back("acid");
singleValueVector.push_back("acre");
singleValueVector.push_back("auto");
singleValueVector.push_back("away");
singleValueVector.push_back("also");
singleValueVector.push_back("ache");
singleValueVector.push_back("ache");
singleValueVector.push_back("acid");
singleValueVector.push_back("acre");
singleValueVector.push_back("also");
sort(singleValueVector.begin(), singleValueVector.end());//sort the vector
singleValueVector.erase( unique( singleValueVector.begin(), singleValueVector.end() ), singleValueVector.end());//Remove duplicate vector values
return 0;
}
debug下处理后的vector的值:
singleValueVector[8]("able","ache","acid","acre","also","auto","away","radio")
分享到:
相关推荐
5. `unique()`:去除容器中的连续重复元素。 **STL函数对象(Function Objects)**或称仿函数(Functors),它们是具有操作功能的对象,如`std::less`、`std::greater`用于比较,`std::plus`、`std::minus`用于加减...
algorithm头文件包含了大量的算法,如sort(排序)、find(查找)、unique(去除重复元素)、reverse(反转)等。这些算法能够高效地处理容器中的数据,极大地提高了编程效率。 4. 函数对象(Functors): 在STL...
`std::set`是一个不包含重复元素的容器,可以利用它的特性来过滤`vector`中的重复项。首先,将`vector`的所有元素插入`set`,然后将`set`的元素重新填充回`vector`。 ```cpp std::vector<int> vec = {1, 2, 2, 3...
此外,还有拷贝算法如copy、unique去除重复元素,以及heap相关操作如make_heap、push_heap、pop_heap等,用于创建和管理堆数据结构。 模板是STL的关键特性,它使得这些组件能够处理任意类型的数据。例如,函数模板...
3. 算法:STL提供了一组通用的算法,如排序(sort)、查找(find)、复制(copy)、去除重复元素(unique)等,这些算法可以作用于任何容器或迭代器范围。 4. 函数对象(functors):也称为仿函数,它们是具有...
- `set`和`multiset`:红黑树实现的集合,不允许重复元素,前者是唯一键,后者允许重复。 - `unordered_set`和`unordered_multiset`:哈希表实现的集合,无序且支持快速查找,同样有唯一键和重复键的版本。 - `map`...
- **其他算法**:如`transform`、`copy`、`unique`、`reverse`等,用于变换序列、复制元素、去除重复元素和反转序列。 4. **函数对象(仿函数)**: - 函数对象是具有函数调用操作符的对象,常用于算法中的比较、...
STL包含了一系列通用算法,如`sort`用于排序,`find`用于查找,`transform`用于元素转换,`copy`用于复制,`unique`用于去除重复元素,`merge`用于合并排序序列,`reverse`用于反转序列等。 5. **函数对象**: ...
- `set`和`multiset`:基于红黑树实现的集合,前者不允许重复元素,后者允许。 - `map`和`multimap`:关联容器,前者基于红黑树,通过键值对进行排序,后者允许相同的键值。 - `unordered_set`和`unordered_map`...
- `unique`:去除连续重复的元素。 4. 函数对象(也称为仿函数):这些是具有特定操作行为的对象,可以作为算法的参数。例如,`less`用于小于比较,`greater`用于大于比较,`equal_to`用于判断两个元素是否相等。 ...
- `set`和`multiset`:红黑树实现的集合,自动排序,不允许重复元素。 - `map`和`multimap`:红黑树实现的关联数组,自动排序,键值唯一(`map`)或可重复(`multimap`)。 - `unordered_set`和`unordered_...
4. **算法**:STL包含大量的通用算法,如排序(sort)、查找(find)、归并(merge)和去除重复元素(unique)等。这些算法通常与迭代器配合使用,可以在各种容器上进行操作。 5. **函数对象**:也称为仿函数,是...
5. **multiset**:与set类似,但允许存储重复元素。 6. **map**:键值对的集合,同样基于红黑树,保持键的排序。插入、查找和删除的时间复杂度为O(log n)。 7. **multimap**:与map相似,允许键的重复。 ### 迭代...
- **通用算法**:如`reverse`反转序列,`unique`去除连续重复元素,`accumulate`求和等。 4. 函数对象(Functors): - 函数对象是封装了操作行为的对象,如`less`用于比较,`greater`用于降序比较,`equal_to`...
如`sort`用于排序,`find`用于查找,`transform`用于函数应用,`unique`用于去除重复元素,`merge`和`inplace_merge`用于合并排序序列。 - STL算法通常与迭代器一起使用,可以作用于任何容器。 4. 函数对象(仿...
3. 队列和堆(Algorithms):STL提供了一组通用的算法,可以在不同容器上进行操作,如排序(sort)、查找(find)、合并(merge)、去除重复元素(unique)等。这些算法通常与特定容器无关,可以跨容器使用。 4. ...
3. **算法**:SGI-STL提供了一系列内置的算法,如排序(sort)、查找(find)、合并(merge)、复制(copy)、去除重复项(unique)等,这些算法可以对任何支持迭代器的容器进行操作,实现了通用性和高效性。...
3. 算法:STL包含了大量的通用算法,如排序(sort)、查找(find)、合并(merge)、去除重复元素(unique)等。这些算法能够与任何容器和迭代器配合使用,使得代码更具通用性和可重用性。 4. 函数对象(仿函数):...
例如,sort可以对容器内的元素进行排序,find查找特定元素,copy将一个容器的内容复制到另一个容器,unique去除连续重复的元素等。这些算法通常与迭代器配合使用,具有较高的效率和通用性。 4. **函数对象**(或...
此外,还有`stable_sort()`用于稳定排序,`unique()`用于去除序列中的重复元素,以及`copy()`、`reverse()`等众多功能强大的算法。 **容器(container)**: 容器是STL中用于存储数据的模板类。它们提供了一种组织...