我有这样的结构:
struct db {
string name,sur;
int num;
};
Run Code Online (Sandbox Code Playgroud)
并声明了一个db结构数组:
struct db a[10];
Run Code Online (Sandbox Code Playgroud)
并且[]的每个成员都填写了姓名,姓氏和号码,但可能会出现多次相同的号码.我需要对数字进行排序,并打印结果,即按每个结构的数量进行排序,并打印每个行中的名称,sur和num,从最小的num开始到最大.我不知道怎么做,请帮帮我.
首先,在C++中,您不需要每次都重复"struct".
您可以使用std :: sort()函数并为其提供自定义谓词.
bool db_cmp(const db &left, const db &right)
{
return left.num < right.num;
}
//...
db a[10];
std::sort(a, a + 10, db_cmp);
// then, display the contents of a..
Run Code Online (Sandbox Code Playgroud)