按照 C# 中第一列的排序算法对第二列的 2D 数组进行排序

本文关键字:排序 2D 二列 数组 算法 一列 按照 | 更新日期: 2023-09-27 17:55:22

我有一个 [2,5000] 个字符串数组,我想只根据第一行进行排序,但我希望第二行遵循该排序算法。

我能得到一个关于我应该如何处理这种情况的领先想法吗?

编辑:我的数组看起来像

{15, 13, 16, 19, 25, 29, 11}{周三 12, 周四 13, 周五 14, 周六 15, 周日 16, 周一 17}

我想要它作为

{29, 25, 19, 16, 15, 13, 11}{周日 16, 周六 15, 周五 14, 周三 12, 周四 13, 周一 17}

按照 C# 中第一列的排序算法对第二列的 2D 数组进行排序

不要创建二维数组;创建具有两个属性的某个类的单维数组,然后根据仅比较其中一个值的自定义比较器对其进行排序。

我想这是一个作业。您需要编写一个排序算法(有很多,包括一些非常简单的算法),并在对第一行进行排序时,对第一行和第二行执行所有交换。

即排序算法可能看起来像

void Sort(string[] array) {
    // some logic to loop over the array, determine which elements to swap
        swap(array[x], array[y]);
}

基本上你想编写类似的东西

void Sort(string[] firstRow, string[] secondRow) {
    // some logic to loop over firstRow, determine which elements to swap
        swap(firstRow[x], firstRow[y]);
        swap(secondRow[x], secondRow[y]);
}