Ordenamiento y Busqueda, Codigo Java

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

METODOS DE ORDENAMIENTO Y BUSQUEDA

package com.mycompany.vectores_ord;
import javax.swing.JOptionPane;

/**
*
* @author Yolany
*/
public class ordenamiento {
public static void main(String[] args) {
int[] vector1={12,30,7,23,8,98,18,12,5,44};
int num_busca, opcion;

JOptionPane.showMessageDialog(null, "****Elementos desordenados del vector****\n");


imprimir_vector(vector1);

JOptionPane.showMessageDialog(null, "Metodos de ordenamiento..: " +


"\n1. La Burbuja " +
"\n2. Insercion" +
"\n3. Seleccion" );
opcion= Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de su opcion: "));

switch (opcion){
case 1:
ordenar_burb(vector1);
break;
case 2:
ordenar_insercion(vector1);
break;
case 3:
ordenar_seleccion(vector1);
break;
default: JOptionPane.showMessageDialog(null, "Opcion invalida, el vector no fue
ordenado");
}
JOptionPane.showMessageDialog(null, "****Elementos ordenados del vector****\n");
imprimir_vector(vector1);

num_busca= Integer.parseInt(JOptionPane.showInputDialog("Numero a buscar: "));

JOptionPane.showMessageDialog(null, "Metodos de busqueda..: " +


"\n1. Secuencial (numero de veces que se encontro el elemento)" +
"\n2. Secuencial (busca solo la primera coincidencia)" +
"\n3. Binario (se necesita que el vector este ordenado)" );
opcion= Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de su opcion: "));

switch(opcion){
case 1:
buscar_sec1(vector1,num_busca);
break;
case 2:
buscar_sec2(vector1, num_busca);
break;
case 3:
buscar_binario(vector1, num_busca);
break;
default:
JOptionPane.showMessageDialog(null, "Opcion invalida");

private static void buscar_sec1(int[] vector1, int num_busca){


int i, contar;
contar=0;

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


if (num_busca== vector1[i]){
JOptionPane.showMessageDialog(null, "Numero encontrado en la posicion " +i);
contar = contar+1;
}//fin de if
}//fin de for
JOptionPane.showMessageDialog(null, "El numero se encontro " + contar + " veces");
}//fin de procedimiento buscar_sec1

private static void buscar_sec2(int[] vector1, int num_busca){


int contar;
contar=0;

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


if (num_busca== vector1[i]){
JOptionPane.showMessageDialog(null, "Numero encontrado en la posicion " +i);
break;
//contar = contar+1;
}//fin de if
}//fin de for

}//fin de procedimiento buscar_sec1

private static void buscar_binario(int[] vector,int num_busca){


int inicio = 0;
int linea = -1;

int fin = vector.length - 1;


int pos;
while (inicio <= fin && linea==-1) {
pos = (inicio+fin) / 2;
if ( vector[pos] == num_busca )
linea= pos;
else if ( vector[pos] < num_busca )
inicio = pos+1;
else
fin = pos-1;

}//fin de while

if (linea >=0)
JOptionPane.showMessageDialog(null, "Numero encontrado en la posicion " +linea);
else
JOptionPane.showMessageDialog(null, "No se encontro el numero" );
}//fin de buscar binario

private static void ordenar_burb(int[] vector){

for(int i = 0; i < vector.length - 1; i++)


{
for(int j = 0; j < vector.length - 1; j++)
{
if (vector[j] > vector[j + 1])
{

int tmp = vector[j+1];


vector[j+1] = vector[j];
vector[j] = tmp;
}//fin de if
}// fin de for j
}//fin de for

private static void ordenar_insercion(int[] vector){


int j, temp;
for(int i = 0; i < vector.length; i++)
{
j=i;
temp = vector[i];
while ((j>0)&& (temp<vector[j-1])){
vector[j] = vector[j-1];
j--;
}//fin de while
vector[j]= temp;
}// fin de for
}//fin de ordenar_insercion

private static void ordenar_seleccion(int[] vector){


int i, j, menor, linea, tmp;
for (i = 0; i < vector.length - 1; i++) { // tomamos como menor el primero
menor = vector[i]; // de los elementos que quedan por ordenar
linea = i; // y guardamos su posición
for (j = i + 1; j < vector.length; j++){ // buscamos en el resto
if (vector[j] < menor) { // del array algún elemento
menor = vector[j]; // menor que el actual
linea = j;
}//fin de if
} //fin de for j
if (linea != i){ // si hay alguno menor se intercambia
tmp = vector[i];
vector[i] = vector[linea];
vector[linea] = tmp;
}//fin de if
}//firn de for i
}//fin de ordenar_seleccion

private static void imprimir_vector(int[] vector){


for(int i=0; i<vector.length; i++) {
System.out.println(vector[i]);

}//fin de for
System.out.println("-------------");
System.out.println("-------------");
}// fin de imprimir_vector
}

También podría gustarte