zoukankan      html  css  js  c++  java
  • sort

    头文件:
    #include <algorithm>
    using namespace std;
    
    
    1.默认的sort函数是按升序排。对应于1)
    sort(a,a+n);   //两个参数分别为待排序数组的首地址和尾地址
    2.可以自己写一个cmp函数,按特定意图进行排序。对应于2)
    例如:
    int cmp( const int &a, const int &b ){
        if( a > b )
           return 1;
        else
           return 0;
    }
    sort(a,a+n,cmp);
    是对数组a降序排序
    又如:
    int cmp( const POINT &a, const POINT &b ){
        if( a.x < b.x )
           return 1;
        else
           if( a.x == b.x ){
              if( a.y < b.y )
                 return 1;
              else
                 return 0;
            }
           else
              return 0;
    }
    sort(a,a+n,cmp);
    是先按x升序排序,若x值相等则按y升序排
    
    
    与此类似的还有C中的qsort,以下同附上qsort的使用方法:
    #include <stdlib.h>
             格式 qsort(array_name,data_number,sizeof(data_type),compare_function_name)       (void*)bsearch (pointer_to_key_word,array_name,find_number,
    sizeof(data_type),compare_function_name)
             e.g.
    int Cmp(const void*a,const void *b)
    {
                      int*pa=(int*)a,*pb=(int*)b;
                      if(*pa>*pb) return 1;
                 else if (*pa==*pb)    return 0;
    else   return -1;
    }
    
    
    qsort(data,N,sizeof(int),Cmp);        // 对int型数组进行快速排序(非降序排列)
    p=(int*)bsearch(&a,data,n,sizeof(int),Cmp);
  • 相关阅读:
    竞赛中遇到的英文单词集锦
    #复习 搜索与图论:排列数字、走迷宫~ 20.8.20起
    #容斥原理 20.9.10
    #sort :快速排序、第k个数 20.09.12
    #STL #unordered_map : C++11 unordered_map详细介绍
    Java 面试必备(字符串专题)
    JAVA面试必备题(垃圾回收专题)
    Collection框架的结构(面试重点)
    CSS 层级样式表
    window搭建mongodb副本集
  • 原文地址:https://www.cnblogs.com/yyf573462811/p/6365139.html
Copyright © 2011-2022 走看看