首页 > 代码库 > c++ list sort
c++ list sort
1. bool operator < (S & b) { return ID < b.ID; }
struct S { std::string firstname; std::string secondname; int ID; bool operator < (S & b) { return ID < b.ID; } // 重新定义小于,因为默认的sort函数调用的操作符是<,所以我们只需要重载 < 就好了};int main(int argc, char* argv[]){ std::list<S> mylist; std::list<S>::iterator iter; S a; a.firstname ="dfadf"; a.ID = 5; mylist.push_back (a); a.firstname ="得到"; a.ID = 9; mylist.push_back (a); a.firstname ="xxx"; a.ID = 7; mylist.push_back (a); a.firstname ="gggg"; a.ID = 25; mylist.push_back (a); mylist.sort();
2.
#include "stdafx.h"#include <iostream> #include <list>using namespace std; class A{public: A(int m):a(m){} bool operator <(const A& other) { <span style="font-size: 18px;"> return a < other.a;</span> } friend std::ostream& operator <<(std::ostream& out, const A& obj){ out<< obj.a<<endl; return out; }private: int a;}; int _tmain(int argc, _TCHAR* argv[]){ list<A> S; typedef list<A>::iterator it; S.push_back(A(3)); S.push_back(A(2)); S.push_back(A(5)); S.sort(); it it1 = S.begin(); it it2 = S.end(); while(it1 != it2) { cout<<*it1<<endl; it1++; } return 0;}
3.
33 // list_sort.cpp34 // compile with: /EHsc35 #include <list>36 #include <iostream>37 38 int main( )39 {40 using namespace std;41 list <int> c1;42 list <int>::iterator c1_Iter;43 44 c1.push_back( 20 );45 c1.push_back( 10 );46 c1.push_back( 30 );47 48 cout << "Before sorting: c1 =";49 for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )50 cout << " " << *c1_Iter;51 cout << endl;52 53 c1.sort( );54 cout << "After sorting c1 =";55 for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )56 cout << " " << *c1_Iter;57 cout << endl;58 59 c1.sort( greater<int>( ) );60 cout << "After sorting with ‘greater than‘ operation, c1 =";61 for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )62 cout << " " << *c1_Iter;63 cout << endl;64 }
c++ list sort
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。