STL中的sort()函数

原创 2013年12月03日 14:00:37

在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 sort算法中的比较函数

排序,既陌生又熟悉的名词。排序,成为面试官中喜欢问的算法问题。c++ STL中为我们提供了std::sort, 所以今天我们不是来描述各种排序算法的实现,而是看看怎么使用stl为我们提供的sort。先...
  • wangshubo1989
  • wangshubo1989
  • 2016年10月13日 13:12
  • 20305

stl中sort函数详解

1. sort 函数的形式: sort(first_pointer,first_pointer+n,cmp)         函数的第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是...
  • meetings
  • meetings
  • 2015年06月23日 13:18
  • 1074

C++之STL中sort函数的内部实现(一)

概述STL中提供了一个sort()函数,用于排序。它的实现虽然是基于我们熟悉的quick sort, insertion sort, heap sort,但是内部却庞大复杂。sort()函数只能接受R...
  • u010902721
  • u010902721
  • 2015年05月20日 11:17
  • 3745

C++ STL sort和qsort函数

一、sort使用: 1、需要头文件:include 2、使用方法 用法(1):sort(begin,end);//默认是从小到大排序,begin表示要排序元素的首地址,end表示要排序元素的结束地址 ...
  • jiary5201314
  • jiary5201314
  • 2016年04月10日 16:12
  • 3322

STL自定义排序函数 需要注意的问题

1.例子     先举个例子:分析一下程序的运行结果:看看在三种情况下程序的输出分别是什么,有可能出现异常 /////////////////////////////////////////////...
  • whatday
  • whatday
  • 2015年09月16日 17:58
  • 1034

stl的sort和手写快排的运行效率哪个比较高?

STL的sort必然要比你自己写的快排要快,因为你自己手写一个这么复杂的sort,那就太闲了。STL的sort是尽量让复杂度维持在O(N log N)的,因此就有了各种的Hybrid sort alg...
  • u013467442
  • u013467442
  • 2015年10月21日 21:14
  • 2138

STL sort函数简介

做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复...
  • s030501408
  • s030501408
  • 2010年02月26日 15:02
  • 4588

STL sort原理及用法详解

排序的算法有很多种,在我们平时的编程中,我们很多时候会用的着排序,这些时候我们每次都要自己来实现吗?未必,C++标准模版库为我们提供了这样一个函数实现 sort(),用来满足我们日常对排序的需求。 ...
  • leo115
  • leo115
  • 2013年03月09日 18:45
  • 11392

STL之sort函数的使用方法

STL封装了一个排序算法,该算法对应的头文件为#include,我们可以根据需要对一个数组进行排序或者降序。...
  • JXH_123
  • JXH_123
  • 2014年06月19日 13:47
  • 1322

c++ stl sort函数奔溃问题

转载自新浪博客这位牛人一次stl sort调用导致的进程崩溃(zz) 此博文包含图片 (2012-10-08 10:06:24)转载▼ 标签: it 分类: 工作 近期我们开发的...
  • xiyuan1223
  • xiyuan1223
  • 2017年04月19日 20:56
  • 533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL中的sort()函数
举报原因:
原因补充:

(最多只允许输入30个字)