1.
https://onlinegdb.com/u6Rl1nluR
#include <iostream>
#include <vector>
#include <string>
#include <thread>
#include <algorithm>
#include <memory> //shared_ptr/unique_ptr/weak_ptr
using namespace std;
template<typename T>
void mysort(vector<T> v, size_t start, size_t end) {
// sort(v.begin()+start,v.begin()+end,greater<T>()); //升序
sort(v.begin()+start,v.begin()+end,less<T>()); //逆序
}
int main()
{
vector<thread> ts;
constexpr int thread_num = 2;
vector<int> v = {-1,2,100,4,53,4,5,1,0,30,20,15,17,13,-9,-10,11,26,10};
size_t end = v.size()/thread_num ?
for_each(v.begin(),v.end(),[](int& e){cout<<e<<" ";});
cout<<endl;
for(int i = 0; i<thread_num; ++i) {
ts.push_back(std::move(thread(mysort<int>,ref(v),i*v.size()/thread_num,(i+1)));
}
for_each(v.begin(),v.end(),[](int& e){cout<<e<<" ";});
cout<<endl;
return 0;
}