我有一个程序使用(并且必须继续使用)实现 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