有没有一种方法可以将考虑更多数字的几个数字排序

时间:2019-11-02 00:28:40

标签: algorithm sorting

我正在寻找一种对一些数字进行排序的算法。输入就像300行,包含3个数字部分,我希望第一,第二和第三位置的数字最大。

示例输入:

F S T

1 2 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 :(得分:0)

由于您已请求算法,因此任何comparison-based sorting algorithm都可以:例如,您可以使用快速排序,合并排序或堆排序。

诀窍是要对行进行排序,因此需要定义如何“比较”一行与另一行。出于您的目的,如果存在A行,则A行“小于或等于B行”

  • A[0] < B[0]
  • A[0] == B[0]
    • A[1] < B[1]
    • A[1] == B[1]A[2] <= B[2]

要真正实现该算法,您需要做的就是实现您首选的基于比较的排序算法,然后用适当的逻辑替换对两个元素进行<=比较的部分,比较上述行。