关闭

STL中的sort()函数

355人阅读 评论(0) 收藏 举报

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5920次
    • 积分:193
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条