Heim > Backend-Entwicklung > C++ > Wie sortiere ich ein Array von Arrays nach dem ersten Element jedes Subarrays in C?

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

Mary-Kate Olsen
Freigeben: 2024-11-17 01:05:03
Original
345 Leute haben es durchsucht

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

Sortieren eines Arrays von Arrays nach dem ersten Element im Unterarray in C

Bei einem gegebenen Array von Arrays besteht die Aufgabe darin, sie basierend auf zu sortieren das erste Element jedes Subarrays. Betrachten Sie ein Array wie [[4, 204], [10, 39], [1, 500]]. Nach der Sortierung sollte es [[1, 500], [4, 204], [10, 39] sein.

Ansatz mit Indexsortierung:

Stattdessen Neben der direkten Sortierung des Arrays besteht eine effizientere Methode darin, ein Array von Indizes zu sortieren, die auf die Unterarrays verweisen. Dadurch entfällt die Notwendigkeit einer komplexen Manipulation des ursprünglichen Arrays in der Sortierfunktion.

Hier ist eine Beispielcode-Implementierung:

#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;
}
Nach dem Login kopieren

In diesem Snippet erstellen wir ein Index-Array und sortieren es nach ein benutzerdefiniertes Sortierkriterium, das die ersten Elemente der Subarrays bei den Indizes n1 und n2 vergleicht. Nach dem Sortieren können wir über das neu geordnete Indexarray auf die sortierten Unterarrays zugreifen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array von Arrays nach dem ersten Element jedes Subarrays 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