template <class T,class InputIterator,class OutIterator> //自定义的排序函数
void Mysort(InputIterator first,InputIterator end,OutIterator result) {
vector<T> s;
for (; first != end; first++)
s.push_back(*first);
sort(s.begin(), s.end());
copy(s.begin(), s.end(), result);
}
int main() { //主函数
vector<int> s(10),s2(10);
for (int i = 0; i < 10; i++) {
cin >> s[i];
}
Mysort<int, vector<int>::iterator, vector<int>::iterator>(s.begin(), s.end(), s.begin());//这里在<>内对迭代器也指定了
Mysort<int>::iterator>(s.begin(), s.end(), s.begin()); //这里仅仅指定了int,但是这个和上面是一样的,为什么可以不指定迭代器呢?
copy(s.begin(), s.end(), ostream_iterator<int>(cout, " "));
}
void Mysort(InputIterator first,InputIterator end,OutIterator result) {
vector<T> s;
for (; first != end; first++)
s.push_back(*first);
sort(s.begin(), s.end());
copy(s.begin(), s.end(), result);
}
int main() { //主函数
vector<int> s(10),s2(10);
for (int i = 0; i < 10; i++) {
cin >> s[i];
}
Mysort<int, vector<int>::iterator, vector<int>::iterator>(s.begin(), s.end(), s.begin());//这里在<>内对迭代器也指定了
Mysort<int>::iterator>(s.begin(), s.end(), s.begin()); //这里仅仅指定了int,但是这个和上面是一样的,为什么可以不指定迭代器呢?
copy(s.begin(), s.end(), ostream_iterator<int>(cout, " "));
}