[其他] 请教一个c语言分组排序的问题

现在有如下的data文件,内容如下:
4,3,1,3,3,6
6,6,5,2,4,7
4,9,4,3,3,8,7
9,2,4,9,8,1,4,2,1,9,6,6,5,9,6
3,3,7,3,2,7,8,5,8,9,2,1,1,3,3

要求对其进行分组排序,要求:1》如果后出现的数比之前的小,不许放在一组之内,2》如果后出现的数和前面的组里最后一个数相同,则放在其上是最好的结果,3》除此之外另分一个新的组

输出结果如下:
3 6 3,3 4,3,1
3 7 4 6,6,5,2
2 9,8,7 4,4,3,3
4 9,9,6 9,8,6,6,5 4,4,2 9,2,1,1
4 9 8,8 7,7,5,3,3 3,3,3,2,2,1,1

例如第一行:3 6 3,3 4,3,1
第一个3是分组数,6 3,3 4,3,1为分组结果,组和组之间用空格分开,在一组之内数据之间用逗号隔开。
如果有空帮一下忙,thx