zoukankan      html  css  js  c++  java
  • 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肯定不行。

  • 相关阅读:
    XML Schema的基本语法(转)
    Lambda 表达式参考
    LINQ查询表达式示例
    Jackson ObjectMapper类使用解析
    hdu 1242 c++ 广搜
    poj 1111 新手路过
    poj 1664 放苹果
    poj 3126 简单广搜题
    poj 1256 全排列
    HDU 2544 最短路
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4269871.html
Copyright © 2011-2022 走看看