C-Programmierung. Sortieren von Zeilen in einem 2D-array

Ich versuche, mich zu Sortieren Sie die Elemente in den einzelnen Zeilen einer 2D array. Ich verstehe, wie das Sortieren der Elemente innerhalb einer 1D array, aber ich habe ernsthafte Mühe, es zu Sortieren 2D.

Code für die 1D array:

for (i = 0; i < size; i++)
{
    for (j = i +1; j < size; ++j)
    {
        if (array2[i] > array2[j])
        {
            swap = array2[i];
            array2[i] = array2[j];
            array2[j] = swap;
        }
    }
}

, Was ich tun will: 2D Array vor der Sortierung

9 2 0 1 6 3
0 9 1 2 3 8
4 2 5 4 3 6
3 6 4 3 9 3
0 2 1 2 0 4
4 1 9 4 2 7

2D array nach der Sortierung:

0 1 2 3 6 9
0 1 2 3 8 9
2 3 4 4 5 6
3 3 3 4 6 9
0 0 1 2 2 4
1 2 4 4 7 9

Mein code für die 2D so weit:

Größe: benutzerdefinierte Dimensionen (im obigen Fall sind es 6)

for (i = 0; i < size; i++)
{
    for (j = 0; j < size; j++)
    {
        if(array[i][j] > array[i][j+1])
        {
            swap = array[i][j];
            array[i][j] = array[i][j+1];
            array[i][j+1] = swap;
        }
    }
}

Jede Hilfe oder Beratung wäre sehr geschätzt werden. Danke an Euch alle.

  • Könnten Sie ausführen qsort über die Zeilen oder sind Sie vertraglich verpflichtet, Ihre eigene Art?
  • In Ihrem 1D Beispiel die i Schleife ist falsch. Es sollte for (i = 0; i < size-1; i++) weil j beginnt bei i + 1. Dieser Fehler ist auch in der 2D-Beispiel. Schreiben Sie eine Funktion sortiert einen 1D array als argument übergeben (mit der Größe). Dann bauen auf, Sortieren die einzelnen array in 2D-Beispiel.
  • Es scheint mir ein bubble-sort-Zuordnung. Stellen Sie nur eine Funktion des bubble-sort (Ihr code für 1-D-array), und rufen Sie für jede Zeile des 2D-Arrays
  • Für C++ und Java, dies kann helfen. stackoverflow.com/questions/20931669/...
InformationsquelleAutor amstl14 | 2014-10-31
Schreibe einen Kommentar