STL中的sort()函数

在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); 
}

阅读更多
上一篇STL技术中search()算法
下一篇vector元素添加
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭