C++構造体多要素sortソート呼び出し時の書き方

1248 ワード

//    ,            

//           ,        



struct node

{

    int u, v, w;	

}a[10000];  //       3   



//            w         



//1.  C++     ,            :

struct node

{

	int u, v, w;

	bool operator <(const node &x)const

	{

		return w<x.w; //    

	}

};



//      :  w  ,   v      (      )

struct node

{

	int u, v, w;

	bool operator < (const node &x)const

	{

		if(w==x.w)

			return v<x.v;

		  //return x.v<v; //   v      

		else

			return w<x.w;

	}

};



//  ,                  

        <algorithm>      :sort(a, a+n);



//2.            

//  sort             (    )
// :sort(a, a+n, cmp); struct node { int u, v, w; }; bool cmp(node a, node b) { if(a.w < b.w ) // w : ! return true; else return false; } // bool cmp(node a, node b) { return a.w<b.w; // } // cmp , , , // w , w , v bool cmp(node a, node b) { if(a.w==b.w) return a.v<b.v; else return a.w<b.w; } // bool cmp(node a, node b) { if(a.w<b.w) return true; if(a.w==b.w && a.v<b.v ) return true; return false; }