赞
踩
//sort(begin, end):从小到大 //sort(begin, end, function):最后一个参数为仿函数,可以改变排序规则 //返回值为迭代器 class Compare { public: bool operator() (int v1, int v2) { return v1 > v2; } }; void sort_test() { vector<int> v; v.push_back(10); v.push_back(40); v.push_back(50); v.push_back(30); v.push_back(20); sort(v.begin(), v.end()); //从小到大 sort(v.begin(), v.end(), Compare()); //从大到小(自己写的仿函数) sort(v.begin(), v.end(), greater<int>()); //从大到小(内建函数对象) } //random_shuffle(begin, end):洗牌 //指定范围内的元素随机调整次序 void random_shuffle_test() { vector<int> v; for (int i = 0; i < 10; i++) { v.push_back(i); } random_shuffle(v.begin(), v.end()); PrintVector(v); } //merge(begin_01, end_01, begin_02; end_02, begin_03) //两个容器元素合并,并存储到另一个容器中 //两个容器必须是有序的(顺序一致) //前四个参数分别为两个容器的起始结束迭代器,最后一个为目标容器的起始迭代器 void merge_test() { vector<int> v1; vector<int> v2; vector<int> v3; for (int i = 0; i < 10; i++) { v1.push_back(i*2+1); v2.push_back(i*2); } //提前给目标容器开辟空间 v3.resize(v1.size()+v2.size()); merge(v1.begin(), v2.end(), v2.begin(), v2.end(), v3.begin()); } //reverse(begin, end):容器内元素进行反转 void reverse_test() { vector<int> v; for (int i = 0; i < 10; i++) { v.push_back(i); } reverse(v.begin(), v.end()); }
//sort(begin, end):从小到大 //sort(begin, end, function):最后一个参数为仿函数,可以改变排序规则 //返回值为迭代器 class Compare { public: bool operator() (int v1, int v2) { return v1 > v2; } }; void sort_test() { vector<int> v; v.push_back(10); v.push_back(40); v.push_back(50); v.push_back(30); v.push_back(20); sort(v.begin(), v.end()); //从小到大 sort(v.begin(), v.end(), Compare()); //从大到小(自己写的仿函数) sort(v.begin(), v.end(), greater<int>()); //从大到小(内建函数对象) }
//random_shuffle(begin, end):洗牌
//指定范围内的元素随机调整次序
void random_shuffle_test() {
vector<int> v;
for (int i = 0; i < 10; i++) {
v.push_back(i);
}
random_shuffle(v.begin(), v.end());
PrintVector(v);
}
//merge(begin_01, end_01, begin_02; end_02, begin_03) //两个容器元素合并,并存储到另一个容器中 //两个容器必须是有序的(顺序一致) //前四个参数分别为两个容器的起始结束迭代器,最后一个为目标容器的起始迭代器 void merge_test() { vector<int> v1; vector<int> v2; vector<int> v3; for (int i = 0; i < 10; i++) { v1.push_back(i*2+1); v2.push_back(i*2); } //提前给目标容器开辟空间 v3.resize(v1.size()+v2.size()); merge(v1.begin(), v2.end(), v2.begin(), v2.end(), v3.begin()); }
//reverse(begin, end):容器内元素进行反转
void reverse_test() {
vector<int> v;
for (int i = 0; i < 10; i++) {
v.push_back(i);
}
reverse(v.begin(), v.end());
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。