题目描述:
给定一副牌,每张牌上都写着一个整数(1~10)和一种花色(H-红桃,S-黑桃,D-方块,C梅花)。
定义一个 input 函数,完成卡牌的输入。
定义两个分组函数,按照牌的数字进行分组(sorted_by_number)和按照牌的花色分组 (sorted_by_suit)。
要求:
借助链表实现,每一张牌作为一个节点,在进行分组,不对牌的数字和花色进行复制, 仅改变节点之间的链接关系。
提示:
以按数字分组为例,为每一个数字的维护一个 List,总共维护一个大小为 10 的链表的数 组 Lists,Lists[0]当中存储的是数字为 1 的所有卡牌构成的 List。
输入:
输入第一行一个整数,n 表示接下来输入的卡牌数量
接下来输入 n 行,每行输入一个数字和字母(仅包括 H、S、D、C,代表花色)
最后输入一个数字 1 或 2,1 表示按照数字进行分组,2 表示按照花色进行分组
输出:
按数字分组,则输出 10 行,每一行为按数字分组的结果
按花色分组,则输出 4 行,每一行为按花色分组的结果(输出结果不要求排序)