zoukankan      html  css  js  c++  java
  • STL(标准函数)

    头文件都是:#include<algorithm>

    qsort篇

     qsort(a,len,sizeof(type),mycmp)

    //注释

    a:待排序的数组地址

    len:待排序的数组的长度

    type:待排序的数组元素的类型

    mycmp:自定义的排序函数

     1 /****************一维数组类比较函数************
     2 int mycmp(const void *a,const void *b)
     3 {
     4  return *(int *)a - *(int *)b;
     5 }
     6 //注 char、float、double型数组时
     7 //只需将return中的int改成相应的类型即可。
     8 //(const void *a,const void *b)必须照写
     9 ********************************************/
    10 
    11 
    12 /****************字符串类比较函数(二维)************
    13 int mycmp(const void *a,const void *b)
    14 {
    15  return strcmp((char *)a,(char *)b);
    16 }
    17 ************************************************/
    18 /*************二维数组整体排序比较函数******
    19 int mycmp(const void *a,const void *b)
    20 {
    21  return *(int *)a-*(int *)b;
    22  //注 char、float、double型数组时
    23 //只需将return中的int改成相应的类型即可。
    24 //(const void *a,const void *b)必须照写
    25 }
    26 ****************************************/
    27 /*************一维结构体排序比较函数******
    28     struct  node
    29     {
    30      int a;
    31     };
    32 int mycmp(const void *c,const void *b)
    33 {
    34  return (*(node *)c).a-(*(node *)b).a;
    35 }
    36 *********************************************/
    37 /*****************二维结构体排序*********************
    38 struct node 
    39 {
    40  int data;
    41  char str[5];
    42 };
    43 int mycmp(const void *a,const void *b)
    44 {
    45   if((*(node *)a).data!=(*(node *)b).data)
    46       return  (*(node *)a).data -(*(node *)b).data ;
    47   return strcmp((*(node *)a).str,(*(node *)b).str );
    48  
    49 }
    50 *******************************************************/
    51 
    52 int main()
    53 {
    54     //qsort篇
    55   /*************一维数组类**************
    56     int a[7]={2,1,3,5,4,7,6},i;
    57      qsort(a,7,sizeof(int),mycmp);
    58      for(i=0;i<7;i++)
    59      cout<<a[i]<< "  ";
    60      cout<<endl;
    61   **************************************/
    62 
    63   
    64   
    65   /**************字符串(二维)******************
    66     char s[5][4]={"aa","dd","cc","ee","bb"};
    67      qsort(s,5,sizeof(s[0]),mycmp);
    68      for(int i=0;i<5;i++)
    69          cout<<s[i]<<endl;
    70 ***********************************************/
    71 /**************二维数组******************    
    72     int a[7][2]={{2,2},{1,9},{3,3},{5,5},{4,4},{7,7},{6,6}},i;
    73      qsort(a,7,sizeof(a[0]),mycmp);//分组排序
    74 //     qsort(a,14,sizeof(int),mycmp);//全部元素一起排序,mycmp为一维int
    75      for(i=0;i<7;i++)
    76          for(int j=0;j<2;j++)
    77      cout<<a[i][j]<< "  ";
    78      cout<<endl;
    79 *************************************************/
    80 /***********************一维结构体排序*************
    81 node b[5];
    82 b[0].a=5;
    83 b[1].a=3;
    84 b[2].a=2;
    85 b[3].a=4;
    86 b[4].a=1;
    87 qsort(b,5,sizeof(node),mycmp);
    88 for(int i=0;i<5;i++)
    89 cout<<b[i].a <<endl;
    90 *************************************************/
    91  
    92 /*******************二维结构体排序****************
    93     node s[5]={{5,"dd"},{3,"dd"},{5,"cc"},{1,"aa"},{2,"bb"}};    
    94  qsort(s,5,sizeof(node),mycmp);
    95  for(int i=0;i<5;i++)
    96      cout<<s[i].data<<" "<<s[i].str<<endl;  
    97 *****************************************/
  • 相关阅读:
    jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
    如何使用 jMeter Parallel Controller
    使用 Chrome 开发者工具 coverage 功能分析 web 应用的渲染阻止资源的执行分布情况
    使用 Chrome 开发者工具的 lighthouse 功能分析 web 应用的性能问题
    关于 SAP 电商云首页加载时触发的 OCC API 请求
    SAP UI5 确保控件 id 全局唯一的实现方法
    SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
    介绍一个好用的能让网页变成黑色背景的护眼 Chrome 扩展应用
    Chrome 开发者工具 performance 标签页的用法
    Client Side Cache 和 Server Side Cache 的区别
  • 原文地址:https://www.cnblogs.com/sxmcACM/p/3031103.html
Copyright © 2011-2022 走看看