Le tri des tableaux en fonction du premier élément de leurs sous-tableaux pose un défi. Plutôt que de manipuler le tableau directement, envisagez une approche alternative.
Créez un tableau d'indices faisant référence au tableau d'origine. Triez les indices en fonction du premier élément des sous-tableaux à ces indices.
Cette stratégie présente plusieurs avantages :
Voici un exemple en 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; }
Exemple en direct
En utilisant des indices au lieu de manipuler le tableau d'origine, vous pouvez trier des structures de données complexes plus efficacement et plus facilement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!