Maison > développement back-end > C++ > le corps du texte

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

Barbara Streisand
Libérer: 2024-11-23 00:18:12
original
867 Les gens l'ont consulté

How to Sort an Array of Subarrays by the First Element in C  ?

Tri des tableaux par premier élément dans les sous-tableaux en C

Les tableaux originaux sont constitués de sous-tableaux avec deux éléments : par exemple, [[4, 204] , [10, 39], [1 500]]. Le but est de trier ces tableaux en fonction du premier élément de chaque sous-tableau : [[1, 500], [4, 204], [10, 39]].

Technique de tri

Fait intéressant, il n'est pas nécessaire de manipuler le tableau d'origine lui-même. Au lieu de cela, une meilleure approche consiste à trier un tableau d'indices qui pointent vers les sous-tableaux du tableau d'origine, puis à utiliser les indices triés pour accéder aux éléments triés.

Avantages de cette technique

Le tri des indices au lieu du tableau d'origine est avantageux lorsque :

  • Les éléments du tableau d'origine sont grands en size.
  • L'ordre d'origine du tableau doit être préservé.
  • Le tableau d'origine est difficile ou impossible à manipuler efficacement dans un algorithme de tri.

Exemple de mise en œuvre

Considérez l'exemple suivant code :

#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, [&amp;](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";
    }
}
Copier après la connexion

Dans cet exemple :

  • index est un tableau d'indices initialisé avec les valeurs 0, 1 et 2.
  • timeTable est l'original tableau de sous-tableaux.
  • std::sort est utilisé pour trier l'index en fonction du premier élément du sous-tableau correspondant dans timeTable.
  • Après avoir trié les indices, les sous-tableaux triés sont accessibles à l'aide du tableau d'index triés, comme indiqué dans la boucle for.

Remarque : Ceci La technique de tri est applicable non seulement aux tableaux de sous-tableaux, mais également aux scénarios dans lesquels plusieurs tableaux doivent être triés en parallèle en fonction des données de l'un des tableaux.

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