zoukankan      html  css  js  c++  java
  • sort函数的用法与实验

    用了这么久的sort排序,但是一直没有对他进行总结。

          像我这样的蒟蒻有了sort排序就再也没有看过快排、冒泡排序、桶排序了......

    sort的头文件<algorithm>

        存在于C++标准库内的函数,我们其实并不需要知道他的原理,只要会用就行了;;;

      sort函数有三个参数

      sort(a,b,c)

    1. a表示要排序的数组的起始位置
    2. b表示要排序的数组的结束地址(最后一位要排序的地址)
    3. c是排序的方法,如果不写则默认从小到大排序

    Sort函数使用模板: Sort(start,end,排序方法)

      使用sort函数主要的方法就是在参数c上做文章

      如想实现从大到小排序

          可以自己写一个比较函数

    bool complare(int a,int b)
    {
     return a>b;
    }
    

      

    具体操作就是:

    先搞好参数c,即做一个比较函数 cmp   ↑  

    然后sort(a,b,cmp)即可

    这样做还是有点麻烦,因为还需要自己编写告诉程序进行何种排序的函数,c++标准库强大的功能完全可以解决这种麻烦。

    Sortt函数的第三个参数可以用这样的语句告诉程序你所采用的排序原则:

    less<数据类型>()//从小到大排序

    greater<数据类型>()//从大到小排序

    sort(a,b,c<int>());

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
     int a[10]={9,6,3,8,5,2,7,4,1,0};
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
    sort(a,a+10,less<int>());//从小到大排序
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     return 0;
    }
    

      

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
     int a[10]={9,6,3,8,5,2,7,4,1,0};
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     sort(a,a+10,greater<int>());//从大到小排序
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     return 0;
    }
    

      

    另外,sort函数也可以实现对字符的排序

    sort(a,b,c<char>());

    如对"asdfghjklk"进行排序

    从大到小排序

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
     char a[11]="asdfghjklk";
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     sort(a,a+10,greater<char>());
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     return 0;
    }
    

      

    从小到大排序

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
     char a[11]="asdfghjklk";
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     sort(a,a+10,less<char>());
     for(int i=0;i<10;i++)
     cout<<a[i]<<endl;
     return 0;
    }
     
    

      

     

  • 相关阅读:
    面向对象
    数据库,连接查询
    主外键,子查询
    字符串函数
    数据库。模糊查询,聚合函数,时间日期函数
    数据库。增,删,改,查
    数据库
    多窗体及菜单
    winform公共控件及其常用属性
    winform 客户端应用程序(c/s b/s)
  • 原文地址:https://www.cnblogs.com/pirote-zjy/p/7717914.html
Copyright © 2011-2022 走看看