Рубрики

Сортировка строк в двумерном массиве

По заданному 2D-массиву отсортируйте каждую строку этого массива и выведите результат.

Примеры:

Input :
77 11 22 3
11 89 1 12
32 11 56 7
11 22 44 33
Output :
3 11 22 77
1 11 12 89
7 11 32 56
11 22 33 44

Input :
8 6 4 5
3 5 2 1
9 7 4 2
7 8 9 5
Output :
4 5 6 8
1 2 3 5
2 4 7 9
5 7 8 9

Метод 1 (Использование Bubble Sort)
Начните перебирать каждую строку данного 2D-массива и сортировать элементы каждой строки, используя эффективный алгоритм сортировки.

Джава

// Java-код для сортировки 2D матрицы по строкам

import java.io.*;

  

public class Sort2DMatrix {

  

    static int sortRowWise(int m[][])

    {

        // цикл для строк матрицы

        for (int i = 0; i < m.length; i++) {

  

            // цикл для столбца матрицы

            for (int j = 0; j < m[i].length; j++) {

  

                // цикл для сравнения и обмена

                for (int k = 0; k < m[i].length - j - 1; k++) {

                    if (m[i][k] > m[i][k + 1]) {

  

                        // обмен элементов

                        int t = m[i][k];

                        m[i][k] = m[i][k + 1];

                        m[i][k + 1] = t;

                    }

                }

            }

        }

  

        // печать отсортированной матрицы

        for (int i = 0; i < m.length; i++) {

            for (int j = 0; j < m[i].length; j++)

                System.out.print(m[i][j] + " ");

            System.out.println();

        }

  

        return 0;

    }

  

    // код драйвера

    public static void main(String args[])

    {

        int m[][] = { { 9, 8, 7, 1 },

                      { 7, 3, 0, 2 },

                      { 9, 5, 3, 2 },

                      { 6, 3, 1, 2 } };

        sortRowWise(m);

    }

}

C #

// C # код для сортировки 2D матрицы по строкам

using System;

  

class GFG 

{

static int sortRowWise(int [,]m)

{

    // цикл для строк матрицы

    for (int i = 0; 

             i < m.GetLength(0); i++)

    {

  

        // цикл для столбца матрицы

        for (int j = 0; 

                 j < m.GetLength(1); j++) 

        {

  

            // цикл для сравнения и обмена

            for (int k = 0; 

                     k < m.GetLength(1) - j - 1; k++) 

            {

                if (m[i, k] > m[i, k + 1]) 

                {

  

                    // обмен элементов

                    int t = m[i, k];

                    m[i, k] = m[i, k + 1];

                    m[i, k + 1] = t;

                }

            }

        }

    }

  

    // печать отсортированной матрицы

    for (int i = 0;

             i < m.GetLength(0); i++) 

    {

        for (int j = 0;

                 j < m.GetLength(1); j++)

            Console.Write(m[i, j] + " ");

        Console.WriteLine();

    }

    return 0;

}

  
// Код драйвера

public static void Main(String []args)

{

    int [,]m = {{ 9, 8, 7, 1 },

                { 7, 3, 0, 2 },

                { 9, 5, 3, 2 },

                { 6, 3, 1, 2 }};

    sortRowWise(m);

}
}

  
// Этот код предоставлен 29AjayKumar


Выход:

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

Метод 2 (Использование функции библиотеки)
Идея состоит в том, чтобы использовать Arrays.sort () для каждой строки матрицы.

Джава

// Java-код для сортировки 2D матрицы по строкам

import java.io.*;

import java.util.Arrays;

  

public class Sort2DMatrix {

  

    static int sortRowWise(int m[][])

    {

        // Один за другим сортируем отдельные строки.

        for (int i = 0; i < m.length; i++)

            Arrays.sort(m[i]);

  

        // печать отсортированной матрицы

        for (int i = 0; i < m.length; i++) {

            for (int j = 0; j < m[i].length; j++)

                System.out.print(m[i][j] + " ");

            System.out.println();

        }

  

        return 0;

    }

  

    // код драйвера

    public static void main(String args[])

    {

        int m[][] = { { 9, 8, 7, 1 },

                      { 7, 3, 0, 2 },

                      { 9, 5, 3, 2 },

                      { 6, 3, 1, 2 } };

  

        sortRowWise(m);

    }

}


Выход

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

Рекомендуемые посты:

Сортировка строк в двумерном массиве

0.00 (0%) 0 votes