下面的程序将从文件1.txt中读入数据,把数据按照从大到小的顺序依次输出。
用到的是STL中的sort()函数。这个函数默认情况是按照升序排列的,通过改变谓语动词,可以实现自定义顺序输出。
#include<iostream> #include<string> #include<fstream> #include <algorithm> #include<sstream> #include <vector> using namespace std; ifstream & open_file(ifstream& in, string name){ in.close(); in.clear(); in.open(name.c_str()); return in; } bool gr(int a, int b){//谓语动词函数 return a>b; } int main(){ ifstream if1; if(!open_file(if1,"1.txt")){cout<<"failed open 1.txt"<<endl; return 0;} int number; vector<int> dat; while (if1>>number) dat.push_back(number); sort(dat.begin(),dat.end(),gr);//gr是谓语动词,其实就是一个函数名 vector<int>::iterator it=dat.begin(); while (it!=dat.end()){ cout<<*it<<endl; ++it; } return 0; }
|
阅读(1167) | 评论(0) | 转发(0) |