【发布时间】:2010-12-27 15:28:23
【问题描述】:
我有一个程序使用(并且必须继续使用)实现 qsort 的旧排序函数。我还必须为排序函数提供适当的数据,以按升序(如果字符串包含偶数)或降序(如果字符串包含奇数)对数据进行排序。
必须改变数据才能实现,排序功能不能改变。
代码是用 C 编写的,但我没有针对这个特定问题的相关代码 sn-p。
真正的问题是:
如何转换数据以使输出与下面的所需输出相匹配?
我有以下数据(或类似数据)
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
【问题讨论】:
标签: c algorithm data-structures qsort