zoukankan      html  css  js  c++  java
  • c++ list sort

    // list::sort
    #include <iostream>
    #include <list>
    #include <string>
    #include <cctype>
    
    // comparison, not case sensitive.
    bool compare_nocase (const std::string& first, const std::string& second)
    {
      unsigned int i=0;
      while ( (i<first.length()) && (i<second.length()) )
      {
        if (tolower(first[i])<tolower(second[i])) return true;
        else if (tolower(first[i])>tolower(second[i])) return false;
        ++i;
      }
      return ( first.length() < second.length() );
    }
    
    int main ()
    {
      std::list<std::string> mylist;
      std::list<std::string>::iterator it;
      mylist.push_back ("one");
      mylist.push_back ("two");
      mylist.push_back ("Three");
    
      mylist.sort();
    
      std::cout << "mylist contains:";
      for (it=mylist.begin(); it!=mylist.end(); ++it)
        std::cout << ' ' << *it;
      std::cout << '
    ';
    
      mylist.sort(compare_nocase);
    
      std::cout << "mylist contains:";
      for (it=mylist.begin(); it!=mylist.end(); ++it)
        std::cout << ' ' << *it;
      std::cout << '
    ';
    
      return 0;
    }

     以上是用string 模版写的可以自定义方法对list.sort();

    可参考http://www.cplusplus.com/reference/list/list/sort/

    2.list sort 模版如何使用

    void sort( ); 
    template<class Traits> 
       void sort(
          Traits _Comp
       );
    可参考http://technet.microsoft.com/zh-cn/library/kz841ss7(v=vs.90)

    3.如果一个list 放的student 包含name(string) age(int).
    如何用list.sort()方法分别排序?
    首先写个
    bool compare_nocase (const std::string& first, const std::string& second)
    {
      unsigned int i=0;
      while ( (i<first.length()) && (i<second.length()) )
      {
        if (tolower(first[i])<tolower(second[i])) return true;
        else if (tolower(first[i])>tolower(second[i])) return false;
        ++i;
      }
      return ( first.length() < second.length() );
    }方法
    然后
     mylist.sort(compare_nocase);就行了




  • 相关阅读:
    mybatis中的配置文件的约束
    win10下PHP开发环境搭建
    装饰器的理解
    在iis上添加woff字体文件读取
    转发:使用sql命令查询视图中所有引用的基础表
    转:C4项目中验证用户登录一个特性就搞定
    转载:NSobject官方介绍
    thinkphp生命周期
    array_intersect_assoc — 带索引检查计算数组的交集
    array_flip — 交换数组中的键和值
  • 原文地址:https://www.cnblogs.com/yelongsan/p/4091943.html
Copyright © 2011-2022 走看看