ホームページ  >  記事  >  バックエンド開発  >  最初の要素に基づいてサブ配列の配列を効率的にソートするにはどうすればよいですか?

最初の要素に基づいてサブ配列の配列を効率的にソートするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-14 21:55:02315ブラウズ

How Can I Sort an Array of Subarrays Based on Their First Element Efficiently?

部分配列の最初の要素に基づいて配列を並べ替えるには、課題が生じます。配列を直接操作するのではなく、別のアプローチを検討してください。

元の配列を参照するインデックスの配列を作成します。インデックスの部分配列の最初の要素に基づいてインデックスを並べ替えます。

この戦略にはいくつかの利点があります。

  1. 元の配列自体を並べ替えるよりも効率的です。
  2. 配列の元の順序が保持されます。
  3. 複雑な並べ替え基準の処理が簡素化されます。

C での例を次に示します。

#include <algorithm>
#include <iostream>

int main()
{
    int index[3] = {0, 1, 2};
    int timeTable[3][2] = {{4, 204}, {10, 39}, {1, 500}};
    std::sort(index, index + 3, [&timeTable](int n1, int n2) {
        return timeTable[n1][0] < timeTable[n2][0];
    });

    for (int i = 0; i < 3; ++i)
    {
        std::cout << "The index is " << index[i] << ".  The data at this index is  ["
                  << timeTable[index[i]][0] << " " << timeTable[index[i]][1] << "]\n";
    }

    return 0;
}

ライブ例

元の配列を操作する代わりにインデックスを使用すると、複雑なデータ構造をより効率的かつ便利に並べ替えることができます。

以上が最初の要素に基づいてサブ配列の配列を効率的にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。