У меня есть программа, которая использует (и должна продолжать использовать) старую функцию сортировки, реализующую 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