我有一个程序,使用并且必须继续使用旧的排序函数实现qsort。我还必须为排序函数提供适当的数据以升序(如果字符串包含偶数)或降序(如果字符串包含奇数)排序数据。
必须修改数据才能实现这一点,不能修改排序函数。
代码是用C编写的,但是我没有相关的代码片段来解决这个特定的问题。
真正的问题是:
如何转换数据,使输出与以下所需输出匹配?
我有以下数据(或类似数据)
String 1 String 2 String 3 String 4 String 5 String 6
编辑:数据是字符串类型的char **,每个字符串中的数字是int。
期望的输出是
String 5 String 3 String 1 String 2 String 4 String 6
通常情况下,排序是按照输入1:1的降序进行的。我已经成功地生成了一种转换方式,通过在字符串后面添加1或0来呈现以下输出。
因此,要排序的内部数据看起来像这样
这将产生以下输出(变换仅用于排序,并且是暂时的)。String 01 String 12 String 03 String 14 String 05 String 16
String 1 String 3 String 5 String 2 String 4 String 6