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 en columnas. Usaremos el concepto de vector para ordenar cada columna.
Algoritmo:
- Recorra cada columna una por una.
- Agregue elementos de la Columna 1 en el vector v.
- Ordenar el vector.
- Empuje hacia atrás los elementos ordenados del vector a la columna.
- Vacíe el vector eliminando todos los elementos para una nueva clasificación.
- Repita los pasos anteriores hasta que todas las columnas estén listas.
Ilustración: Creación de un vector
Aquí estamos creando un vector predeterminado de la capacidad inicial es 10, así que la sintaxis es la siguiente:
Vector<E> v = new Vector<E>();
Las funciones que se utilizarán para lograr el objetivo son las siguientes:
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(): Este método se usa para agregar elementos en el vector.
Sintaxis:
Vector.add(value)
D. get(): este método obtendrá el elemento de Vector almacenado en un índice particular
Sintaxis:
Vector.get(3);
Ejemplo
Java
// Java Program to Sort 2D array across Columns // 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 for 2D array int[][] arr = { { 7, 2, 0, 5, 1 }, { 3, 8, 2, 9, 14 }, { 5, 1, 0, 5, 2 }, { 4, 2, 6, 0, 1 } }; // Display message for better readability System.out.println("Matrix without sorting \n"); // Nested iteration to display matrix for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { // Printing elements of 2D matrix System.out.print(arr[i][j] + " "); } // New line as we are done with row System.out.println(); } // Creating an object of Vector class Vector<Integer> v = new Vector<>(); // Nested iteration using for loops for (int i = 0; i < 5; i++) { for (int j = 0; j < 4; j++) { // Adding elements of columns in vector // using add() method v.add(arr[j][i]); } // Sorting elements in vector // using sort() method Collections.sort(v); for (int j = 0; j < 4; j++) { // Sorted elements are pushed back // from vector to column arr[j][i] = v.get(j); } // Elements are removed from vector for // fresh sorting using remove() method v.removeAll(v); } // Printing matrix after sorting System.out.println("Matrix after sorting \n"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); } } }
Matrix without sorting 7 2 0 5 1 3 8 2 9 14 5 1 0 5 2 4 2 6 0 1 Matrix after sorting 3 1 0 0 1 4 2 0 5 1 5 2 2 5 2 7 8 6 9 14
Espacio Auxiliar : O(1)
Publicación traducida automáticamente
Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA