Heim > Backend-Entwicklung > C++ > Hauptteil

Wie sortiere ich ein Array von Subarrays nach dem ersten Element in C?

Barbara Streisand
Freigeben: 2024-11-23 00:18:12
Original
852 Leute haben es durchsucht

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

Sortieren von Arrays nach dem ersten Element in Subarrays in C

Ursprüngliche Arrays bestehen aus Subarrays mit zwei Elementen: z. B. [[4, 204] , [10, 39], [1, 500]]. Das Ziel besteht darin, diese Arrays basierend auf dem ersten Element jedes Subarrays zu sortieren: [[1, 500], [4, 204], [10, 39]].

Sortiertechnik

Interessanterweise ist es nicht notwendig, das ursprüngliche Array selbst zu manipulieren. Stattdessen besteht ein besserer Ansatz darin, ein Array von Indizes zu sortieren, die auf die Unterarrays innerhalb des ursprünglichen Arrays verweisen, und dann die sortierten Indizes zu verwenden, um auf die sortierten Elemente zuzugreifen.

Vorteile dieser Technik

Das Sortieren von Indizes anstelle des ursprünglichen Arrays ist vorteilhaft, wenn:

  • Das ursprüngliche Array Elemente sind groß.
  • Die ursprüngliche Reihenfolge des Arrays muss beibehalten werden.
  • Das ursprüngliche Array ist in einem Sortieralgorithmus umständlich oder gar nicht effizient zu manipulieren.

Beispielimplementierung

Betrachten Sie das folgende Beispiel 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";
    }
}
Nach dem Login kopieren

In diesem Beispiel:

  • index ist ein Array von Indizes, initialisiert mit den Werten 0, 1 und 2.
  • timeTable ist das Original Array von Subarrays.
  • std::sort wird verwendet, um den Index basierend auf dem ersten Element des entsprechenden Subarrays in zu sortieren timeTable.
  • Nach dem Sortieren der Indizes kann mit dem sortierten Index-Array auf die sortierten Subarrays zugegriffen werden, wie in der for-Schleife gezeigt.

Hinweis: Dies Die Sortiertechnik ist nicht nur auf Arrays von Subarrays anwendbar, sondern auch auf Szenarien, in denen mehrere Arrays basierend auf Daten von einem der Arrays parallel sortiert werden müssen Arrays.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array von Subarrays nach dem ersten Element in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage