程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++調用c庫函數-結構體排序,自定義比較函數bool cmp()

c++調用c庫函數-結構體排序,自定義比較函數bool cmp()

編輯:編程綜合問答
結構體排序,自定義比較函數bool cmp()

C++結構體 用sort排序 自己定義比較函數cmp bool cmp()

struct lzl
{
string s;
int a,b;
}x[100];
bool cmp(lzl n,lzl m)
{
if(n.a!=m.a)
return n.a>m.a;
if(n.a==m.a&&n.b!=m.b)
return n.b>m.b;
if(n.a==m.a&&n.b==m.b)
return n.s<m.s;
}
如果a不同,用a來排序,如果a相同,b不同,就用b來排序,a,b都相同就用s來排序。
我想問的是,這個語句在cmp裡面怎麼寫啊!兩個的我會寫,但是3個怎麼寫啊?

最佳回答:


if(n.a != m.a)
{
return n.a>m.a;
}else if(n.b != m.b)
{
return n.b > m.b
}else
{
return strcmp(n.s,m.s);
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved