Como delarar una matriz
Una matriz (o array) es básicamente una lista de variables del mismo tipo. Para crear una matriz, primero declara de qué tipo de datos consistirán las variables en tu matriz, luego el nombre de la matriz. El sintaxis es:
(tipo de dato) nombre_variable [ ];
Aquí primero declaramos cuál será el tipo de datos de todas las variables en la matriz. Luego nombraremos la colección de estas variables que son la matriz.
String nombres[];
Ahora, aunque esta declaración establece nombres como una matriz, no existe ninguna matriz en la memoria. Para que exista esta matriz, tenemos que vincularla a la memoria usando la palabra clave new. Esto se verá como lo siguiente:
String nombres= new String [10];
Aquí asignamos una de cadenas de 10 elementos y las vinculamos a el variable nombres.
Ejemplos de una matriz unidimensionalales:
// Programas creando y manipulando matrices(arrays) unidimensionales
//////////////////////////////////////////////////
// Ejemplo 1: ejemplo de programación donde creamos y
//imprimimos una matriz unidimensional de nombres de estudiantes
//
//////////////////////////////////////////////////
import java.io.*;
import java.util.*;
class Nombres {
public static void main(String[] args)
{
// iniciamos una matriz
String nombres[];
nombres= new String[5];
// populamos la matriz con cadenas
nombres[0]="jose";
nombres[1]="anna";
nombres[2]="diego";
nombres[3]="luis";
nombres[4]="beatriz";
// imprimimos la matriz
for(int i=0;i
Ejemplos de matrices multidimensionalales:
// Programas creando y manipulando matrices (arrays) multidimensionales
//////////////////////////////////////////////////
// Ejemplo 1: ejemplo de programación donde creamos y
//imprimimos un array multidimensional de numeros
//
//////////////////////////////////////////////////
import java.util.*;
class Numeros {
public static void main(String[] args)
{
// iniciamos una matriz
int numeros[][];
numeros= new int[5][5];
// populamos la matriz con numeros
numeros[0][4]=10;
numeros[1][3]=9;
numeros[2][2]=8;
numeros[3][1]=7;
numeros[4][0]=6;
// imprimimos la matriz
for(int i=0;i<5;i++ )
{
for(int j=0;j<5;j++ )
System.out.print(" "+numeros[i][j]);
System.out.println();
}
/*salida:
0 0 0 0 10
0 0 0 9 0
0 0 8 0 0
0 7 0 0 0
6 0 0 0 0 */
}
}
// Ejemplo 2: ejemplo de programación donde creamos una matriz
// multidimensional. Despues agregamos y imprimimos los numeros
// en cada fila.
//
//////////////////////////////////////////////////
class SumaArray {
public static void main(String[] args)
{
int[][] arr = { { 1, 2, 3, 4 }, { 3, 4, 5, 6} , {4, 5, 6, 7}, {6, 7, 8, 9}};
for (int i = 0; i < 4; i++) {
int t= 0;
for (int j = 0; j < 4; j++) {
t+=arr[i][j];
}
System.out.println("La suma de los numeros de la fila "+ i +" es: "+t);
}
}
}
// Salida:
//La suma de los numeros de la fila 0 es: 10
//La suma de los numeros de la fila 1 es: 18
//La suma de los numeros de la fila 2 es: 22
//La suma de los numeros de la fila 3 es: 30
Busqueda Linear
// Programa usando busqueda lineal//
////////////////////////////////////
// Busquamos x in arr[]. Si x
// esta presente entonces devuelve su
// ubicacion, en caso contrario, devuelve
// -1
class BusquedaLineal {
public static void main(String args[])
{
int arr[] = { 2, 33, 4, 10, 40 , 44, 1, 86 };
int x = 33;
// llama a la funcion search
int resultado = search(arr, x);
if (resultado == -1)
System.out.print(
"El elemento no esta presente en la matriz.");
else
System.out.print("El elemento esta presente en el indice: "
+ resultado);
}
public static int search(int arr[], int x)
{
int N = arr.length;
for (int i = 0; i < N; i++) {
if (arr[i] == x)
return i;
}
return -1;
}
}
Busqueda Binaria
// Programa usando busqueda binaria//
////////////////////////////////////
// implementacion de una busqueda binaria
class BinarySearch {
public static void main(String args[])
{
BinarySearch ob = new BinarySearch();
int arr[] = { 2, 3, 4, 10, 40 };
int n = arr.length;
int x = 10;
int resultado = ob.binarySearch(arr, 0, n - 1, x);
if (resultado == -1)
System.out.println("Elemento no esta presente");
else
System.out.println("Elemento en indice "
+ resultado);
}
// regresa indice de x si existe en arr[l..
// r], si no existe regresa -1
int binarySearch(int arr[], int l, int r, int x)
{
if (r >= l) {
int mid = l + (r - l) / 2;
// si el elemento existe en el indice central regresa el indice
if (arr[mid] == x)
return mid;
// Si el elemento es menor que mid, buscamos el
// valor en la subarray de la izquierda
if (arr[mid] > x)
return binarySearch(arr, l, mid - 1, x);
// De otra manera buscamos
// el elemento en el subarray de la derecha
return binarySearch(arr, mid + 1, r, x);
}
// Si no existe el valor en el array regresa -1
return -1;
}
}