💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # merge合并并排序 ~~~ void test01() { vector<int> v1; vector<int> v2; for (int i = 5; i >= 0; --i) { v1.push_back(i + 1); v2.push_back(i + 2); } vector<int> v3; v3.resize(v1.size() + v2.size()); //如果数据是升序,那么第六个参数就不用写 /*merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin()); for_each(v3.begin(), v3.end(), [](int val){cout << val << " "; });*/ //如果数据是降序,那么第六个参数就要写greater<int>() merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin(),greater<int>()); for_each(v3.begin(), v3.end(), [](int val){cout << val << " "; }); cout << endl; } ~~~ # sort排序 ~~~ vector<int> v; v.push_back(8); v.push_back(12); v.push_back(2); v.push_back(7); v.push_back(3); sort(v.begin(), v.end()); for_each(v.begin(), v.end(), [](int val){cout << val << " "; }); //如果元素是对象,那么要写第三个参数 //sort(v.begin(), v.end(),函数对象); ~~~ # `random_shuffle`洗牌 ~~~ vector<int> v1; for (int i = 0; i < 10; i++) { v1.push_back(i + 1); } for_each(v1.begin(), v1.end(), [](int val){cout << val << " "; }); cout << endl; srand((unsigned int)time(NULL)); random_shuffle(v1.begin(), v1.end()); for_each(v1.begin(), v1.end(), [](int val){cout << val << " "; }); cout << endl; ~~~