指向结构体的指针数组排序

C++ Medium pointers

任务 «指向结构体的指针数组排序»

给定一个结构体 Person,包含字段 name(字符串)和 age(整数)。创建一个指向结构体 Person 的指针数组。用从标准输入读取的数据填充该数组。使用函数 qsort 按年龄(升序)对指针数组进行排序。如果年龄相同,则按名字的字典序排序。以格式:名字 年龄 输出排序后的列表。限制:记录数量 n (1 ≤ n ≤ 100),名字长度不超过 50 个字符。

输入格式

第一行:一个整数 n — 记录的数量。接下来 n 行,每行包含一个名字和一个年龄,以空格分隔。

输出格式

n 行,每行包含一个名字和一个年龄,以空格分隔,按年龄升序排序,年龄相同时按名字的字母顺序排序。

示例

示例 1

输入
3 Alice 25 Bob 20 Charlie 25
输出
Bob 20 Alice 25 Charlie 25

示例 2

输入
2 Zara 30 Yan 30
输出
Yan 30 Zara 30

示例 3

输入
4 4 1 2 1 2 3 2 1 3 4 3 4 1 1 4
输出
4
main.cpp