在STL中sort()函数有两种,一种是通用算法中的sort(),还有一种是双向链表list中的成员函数,通过下面的例子来理解这两种sort()的使用。
#include <list>
#include <algorithm>
#include <iostream>
using namespace std;
void PrintIt (int & StringToPrint){ cout<<StringToPrint<<endl;}
void main (void)
{
list<int > Staff; //这里的list为int类型,当然也可以使用string和char*类型;如果类型为字符串,则排序后倒序输出
list<int >::iterator PeopleIterator;
Staff.push_back(2);
Staff.push_back(5);
Staff.push_back(8);
Staff.push_back(3);
Staff.push_back(1);
cout << "The unsorted vector:" << endl;
for_each(Staff.begin(), Staff.end(), PrintIt );
cout<<endl<<endl;
Staff.sort(); //list成员函数sort()
cout << "The sorted vector: " << endl;
for_each(Staff.begin(), Staff.end(), PrintIt);
}
//
#include<vector>
#include <algorithm>
#include <iostream>
using namespace std;
void PrintIt (int & StringToPrint){ cout<<StringToPrint<<endl;}
void main (void)
{
vector<int > Staff;
vector<int >::iterator PeopleIterator;
Staff.push_back(2);
Staff.push_back(5);
Staff.push_back(8);
Staff.push_back(3);
Staff.push_back(1);
cout << "The unsorted vector:" << endl;
for_each(Staff.begin(), Staff.end(), PrintIt );
cout<<endl<<endl;
sort(Staff.begin(),Staff.end()); //通用算法中的sort();
cout << "The sorted vector: " << endl;
for_each(Staff.begin(), Staff.end(), PrintIt);
}