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肯定不行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值