问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:崔青青
*完成日期:2016年6月3日
*版 本 号:v1.0
*问题描述:
*输入描述:无
*输出描述:无
*/
#include<vector>
#include<algorithm>
//#include<functional>
#include<iostream>
#include<iterator>
using namespace std;
template<class T,class IputIterator,class OutputIterator>
void mySort(IputIterator first,IputIterator last,OutputIterator result)
{
vector<T>s;
for(;first!=last;++first)
s.push_back(*first);
sort(s.begin(),s.end());
copy(s.begin(),s.end(),result);
}
int main()
{
double a[5]={1.2,2.4,0.8,3.3,3.2};
mySort<double>(a,a+5,ostream_iterator<double>(cout," "));
cout<<endl;
cout<<"Input data:";
mySort<int>(istream_iterator<int>(cin),istream_iterator<int>(),ostream_iterator<int>(cout,"->"));
cout<<endl;
return 0;
}
运行结果:
知识点总结:
迭代器用法,多做多练会熟练很多。
学习心得:
一开始这种程序很难读懂,到现在可以慢慢地写出来,很有成就感。