设为首页 加入收藏

TOP

标准模板库(STL)List介绍(十二)
2011-06-07 12:31:23 来源: 作者: 【 】 浏览:9188
Tags:标准 模板 STL List 介绍
 
  
使用list的成员函数sort()排序一个list。  
  
  
要排序一个list,我们要用list的成员函数sort(),而不是通用算法sort()。所有我们用过的算法都是 通用算法。然而,在STL中有时容器支持它自己对一个特殊算法的实现,这通常是为了提高性能。  
在这个例子中,list容器有它自己的sort算法,这是因为通用算法仅能为那些提供随机存取里面元素 的容器排序,而由于list是作为一个连接的链表实现的,它不支持对它里面的元素随机存取。所以就需要一个特殊的 sort()成员函数来排序list。  
  
由于各种原因,容器在性能需要较高或有特殊效果需求的场合支持外部函数(extra functions), 这通过利用构造函数的结构特性可以作到。  
  
  
/*  
|| How to sort an STL list  
*/  
#include <string>  
#include <list>  
#include <algorithm>  
   
PrintIt (string& StringToPrint) { cout << StringToPrint << endl;}  
   
int main (void) {  
     list<string> Staff;  
     list<string>::iterator PeopleIterator;  
   
     Staff.push_back("John");  
     Staff.push_back("Bill");  
     Staff.push_back("Tony");  
     Staff.push_back("Fidel");  
     Staff.push_back("Nelson");  
   
     cout << "The unsorted list " << endl;  
     for_each(Staff.begin(), Staff.end(), PrintIt ;  
   
     Staff.sort();  
   
     cout << "The sorted list " << endl;  
     for_each(Staff.begin(), Staff.end(), PrintIt);  
}  
  
输出是:  
  
The unsorted list  
John  
Bill  
Tony  
Fidel  
Nelson  
The sorted list  
Bill  
Fidel  
John  
Nelson  
Tony  
  
首页 上一页 9 10 11 12 13 14 15 下一页 尾页 12/18/18
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇 C++语言的url encode 和decode 下一篇C++ map的基本操作和使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: