Programa Java para ordenar arrays 2D en diagonal izquierda

La clase Vector implementa una array creciente de objetos. Los vectores básicamente pertenecen a las clases heredadas, pero ahora son totalmente compatibles con las colecciones. Se encuentra en el paquete java.util e implementa la interfaz List , por lo que podemos usar todos los métodos de la interfaz List aquí. Este programa se utiliza para ordenar la array 2D a lo largo de la diagonal izquierda. Usaremos el concepto de vector para ordenar la diagonal izquierda antes de lo cual nos referiremos a la siguiente ilustración de la siguiente manera.

Ilustración: Creación de un vector 

Vector(): crea un vector predeterminado de la capacidad inicial es 10.

Vector<E> v = new Vector<E>();

Algoritmo:

  • Atraviesa el elemento Diagonal uno por uno. La condición es (i==j) o (arr[i][i])
  • Agregue elementos de Diagonal en el vector v.
  • Ordenar el vector.
  • Empuje hacia atrás los elementos ordenados de vector a Diagonal.

Ahora analicemos las funciones que se utilizarán en el enfoque anterior antes de aterrizar en la parte de implementación.

A. removeAll(): El método java.util.vector.removeAll(Collection col) se utiliza para eliminar todos los elementos del vector, presentes en la colección especificada.

Sintaxis:

Vector.removeAll(Vector);  

B. Collections.sort(): Este método se utiliza para ordenar el vector.

Sintaxis:

Collections.sort(Vector) ;

C. add(): Sirve para agregar elementos en el vector.

Sintaxis:

Vector.add(value) ;

D. get(): este método obtendrá un elemento de Vector almacenado en un índice particular.

Sintaxis:

Vector.get(3);

Ejemplo:

Java

// Java Program to Sort 2D Array Across Left Diagonal
 
// Importing required classes
import java.io.*;
import java.lang.*;
import java.util.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws java.lang.Exception
    {
 
        // Custom input 2D array
        int[][] arr
            = { { 5, 2, 0, 7, 1 }, { 3, 4, 2, 9, 14 },
                { 5, 1, 3, 5, 2 }, { 4, 2, 6, 2, 1 },
                { 0, 6, 3, 5, 1 }, { 1, 4, 7, 2, 8 } };
 
        // Display message
        System.out.println("Matrix without sorting \n");
 
        // Nested for loops to display 2D matrix
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
 
                // Printing elements
                System.out.print(arr[i][j] + " ");
            }
 
            // By now we are done with one row so
            // new line is needed
            System.out.println();
        }
 
        // Creating an object of Vector class
        Vector<Integer> v = new Vector<>();
 
        // Adding elements of diagonal in vector
        // using add() method
        for (int i = 0; i < 5; i++) {
            v.add(arr[i][i]);
        }
 
        // Sorting elements in vector
        // using Collections.sort() method
        Collections.sort(v);
 
        // Sorted elements are pushed back from vector to
        // row using get() method
        for (int j = 0; j < 5; j++) {
            arr[j][j] = v.get(j);
        }
 
        // Display message
        System.out.println("Matrix after sorting \n");
 
        // Nested for loops to display 2D matrix
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}
Producción

Matrix without sorting 

5 2 0 7 1 
3 4 2 9 14 
5 1 3 5 2 
4 2 6 2 1 
0 6 3 5 1 
Matrix after sorting 

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

Publicación traducida automáticamente

Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *