STL之sort函数的用法

说明:本文仅供学习交流,转载请标明出处,欢迎转载!

STL封装了一个排序算法,该算法相应的头文件为#include<algorithm>,我们能够依据须要对一个数组进行排序或者降序。

sort的函数原型为:

void sort(b,e,pre=up),表示对[b,e)的元素进行排序,第三个參数为一个谓词,我们能够自己定义排序方式,默认排序方式为升序排序。

详细实现代码例如以下:

#include<iostream>
#include<vector>
#include<iterator>//使用了流迭代器ostream_iterator
#include<algorithm>//使用sort函数
using namespace std;

template<typename T,size_t N>
void print(T (&arr)[N])//输出一个数组的值
{
	int i;
	for(i=0;i<N;i++)
	{
		cout<<arr[i]<<" ";
	}
	cout<<endl;
}

int up(const int &a,const int& b)//定义升序排序
{
	return a<b;
}
int down(const int &a,const int &b)//定义降序排序
{
         return a>b;
}
int main()
{
	int arr[]={3,1,2,4,9,5,2,9};
	print(arr);//输出原数组
	sort(arr,arr+sizeof(arr)/sizeof(int),up);
    print(arr);//输出升序排序后的数组
    sort(arr,arr+sizeof(arr)/sizeof(int),down);
    print(arr);//输出降序排序后的数组
	return 0;
}

以上代码必须在对STL支持得比較好的编译器下才干编译通过,比方VS2010,g++编译器等都能够,可是VC6.0肯定不行。

时间: 2024-10-08 11:02:09

STL之sort函数的用法的相关文章

C/C++ sort函数的用法

sort函数的用法(#include<algorithm>) 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错.STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n).使用这个函数,需要包含头文件.    这个函数可以传两个参数或三个参数.第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址.也就是说,排序的区间是[a,b).简单来说,有一个数组int a[100

C++ sort函数的用法

C++ sort函数的用法 STL有个排序函数sort,可以直接对数组和向量排序. 一.功能:给定区间所有元素进行排序 二.头文件: #include <algorithm> 三.sort函数的参数:可以传两个参数或三个参数. 第一个参数:要排序的区间首地址, 第二个参数:区间尾地址的下一地址.也就是说,排序的区间是[a,b). 例如:数组int a[100],sort(a,a+100)是对从a[0]到a[99]的元素进行排序,默认的排序方式是升序. 对向量v排序:sort(v.begin()

C++ STL的sort 函数 以及自定义的比较函数

没什么特别擅长的内容,先做个小笔记好了.在编程时,使用C++的标准模板库(STL)能节约工作量,增加代码的可读性,能灵活运用无疑会提高编程的效率,俗话说:Write less, create more ~ 然后这篇笔记就简单讨论一下sort函数吧.对于vector,我们使用algorithm头文件中的sort函数来排序元素,如果元素类型是实数.字符串之类的,直接使用sort 函数就可以方便的排序了.使用方法就是: #include <vector> #include <algorithm

使用STL库sort函数对vector进行排序

使用STL库sort函数对vector进行排序,vector的内容为对象的指针,而不是对象. 代码如下 1 #include <stdio.h> 2 #include <vector> 3 #include <algorithm> 4 5 using namespace std; 6 7 class Elm 8 { 9 public: 10 int m_iSortProof; 11 12 private: 13 int __m_iValue; 14 static int

STL之sort函数的使用方法

说明:本文仅供学习交流,转载请标明出处,欢迎转载! STL封装了一个排序算法,该算法对应的头文件为#include<algorithm>,我们可以根据需要对一个数组进行排序或者降序. sort的函数原型为: void sort(b,e,pre=up),表示对[b,e)的元素进行排序,第三个参数为一个谓词,我们可以自定义排序方式,默认排序方式为升序排序. 具体实现代码如下: #include<iostream> #include<vector> #include<i

C++sort()函数的用法

C++sort()函数的用法 (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可

c++sort函数的用法浅析

(一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可! II)Sort函数有三个参

STL sort函数的用法

sort在STL库中是排序函数,有时冒泡.选择等O(N^2)算法会超时时,我们可以使用STL中的快速排序O(N log N)完成排序 sort在<algorithm>库里面,原型如下: template <class RandomAccessIterator> void sort ( RandomAccessIterator first, RandomAccessIterator last ); template <class RandomAccessIterator, cl

【转】sort函数用法

近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧! (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用