Есть ли способ сортировки нескольких чисел, которые считают больше чисел - PullRequest
0 голосов
/ 02 ноября 2019

Я ищу алгоритм для сортировки некоторых чисел. Входные данные похожи на 300 строк из 3 числовых частей, и я хочу, чтобы максимальные значения чисел находились в первой, второй и третьей позициях.

Пример ввода:

FST

12 3

1 1 1

1 0 0

1 1 0

2 1 0

и вывод:

2 1 0

1 2 3

1 1 1

1 1 0

1 0 0

1 Ответ

0 голосов
/ 02 ноября 2019

Поскольку вы запросили алгоритм, подойдет любой алгоритм сортировки на основе сравнения : вы можете использовать быструю сортировку, сортировку слиянием или сортировку кучи, например.

Хитрость в том, что вы сортируете строки, поэтому вам нужно определить, как «сравнивать» одну строку с другой. Для вашей цели строка A «меньше или равна» строке B, если либо

  • A[0] < B[0], либо
  • A[0] == B[0] и либо
    • A[1] < B[1], или
    • A[1] == B[1] и A[2] <= B[2]

Чтобы реально реализовать алгоритм, все, что вам нужно сделать, это взять реализацию по вашему выборуалгоритм сортировки на основе сравнения и замените часть, которая выполняет сравнение <= на двух элементах, соответствующей логикой для сравнения строк, описанных выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...