Maison > développement back-end > C++ > Comment trier un tableau de tableaux par le premier élément de chaque sous-tableau en C ?

Comment trier un tableau de tableaux par le premier élément de chaque sous-tableau en C ?

Mary-Kate Olsen
Libérer: 2024-11-17 01:05:03
original
344 Les gens l'ont consulté

How to Sort an Array of Arrays by the First Element of Each Subarray in C  ?

Tri d'un tableau de tableaux par premier élément dans un sous-tableau en C

Étant donné un tableau de tableaux, la tâche consiste à les trier en fonction de le premier élément de chaque sous-tableau. Considérons un tableau comme [[4, 204], [10, 39], [1, 500]]. Après le tri, il devrait devenir [[1, 500], [4, 204], [10, 39]].

Approche utilisant le tri par index :

Au lieu de cela plutôt que de trier directement le tableau, une méthode plus efficace consiste à trier un tableau d'indices pointant vers les sous-tableaux. Cela élimine le besoin d'une manipulation complexe du tableau d'origine dans la fonction de tri.

Voici un exemple d'implémentation de code :

#include <algorithm>
#include <iostream>

int main() {
  int index[3] = {0, 1, 2};
  int timeTable[3][2] = {{4, 204}, {10, 39}, {1, 500}};

  // Sort the indices based on the first item of each subarray
  std::sort(index, index + 3, [&](int n1, int n2) { return timeTable[n1][0] < timeTable[n2][0]; });

  // Iterate over the sorted indices and access the corresponding subarrays
  for (int i = 0; i < 3; ++i) {
    std::cout << "The index is " << index[i] << ". The data at this index is [";
    std::cout << timeTable[index[i]][0] << " " << timeTable[index[i]][1] << "]\n";
  }

  return 0;
}
Copier après la connexion

Dans cet extrait, nous créons un tableau d'index et le trions en utilisant un critère de tri personnalisé qui compare les premiers éléments des sous-tableaux aux indices n1 et n2. Après le tri, nous pouvons accéder aux sous-tableaux triés via le tableau d'index réorganisé.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal