Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Shell Sort Implementacion
Shell Sort Implementacion
SALGADO
IMPLEMENTACION DEL METODO SHELL SORT
JOSE AVILES PACHECHO
JULIETH HERNANDEZ POLO
CARLOS QUINTERO TORDECILLA
*/
import javax.swing.JOptionPane;
public class Estudiante {
private int tam;
private float notas[];
private String nombres[];
public Estudiante()
{
notas = null;
nombres = null;
tam = 0;
}
public void crearVector()
{
notas = new float[tam];
nombres = new String[tam];
}
public void setTam(int t)
{
tam = t;
}
public int getTam()
{
return tam;
}
public void setNotas(int p, float d)
{
notas[p]=d;
}
public float getNotas(int p)
{
return notas[p];
}
public void setNombres(int p, String d)
{
nombres[p]=d;
}
public String getNombres(int p)
{
return nombres[p];
}
//CLASE MAIN
import javax.swing.JOptionPane
public class Main {
public static void mostrarVector(Estudiante ordenar) //METODO SE LE PASA
COMO //PARAMETRO UN OBJETO DE LA CLASE ESTUDIANTE QUEDA A
CRITERIO DEL ESTUDIANTE AVERIGUAR SOBRE CREACION DE OBJETOS E
IMPLEMENTACION COMO PARAMETRO
{
String datosVect=""; // variable String para guardar toda la
informacion de los vectores estudiantes y notas
for(int i=0; i<=ordenar.getTam()-1; i++)
{
//TODA LA INFORMACION DE LOS VECTORES QUEDA GUARDADA EN LA
VARIABLE datosVect //MENCIONADA ANTERIORMENTE, ,QUEDA A CRITERIO
DEL ESTUDIANTE AVERIGUAR MAS SOBRE String .valueOf()
/* valueOf(N) :Mtodo esttico. Convierte el valor N a String. N puede ser
de cualquier tipo.*/
datosVect = datosVect+String.valueOf("estudiante "+ordenar.getNombres(i)
+"\n");
datosVect = datosVect+String.valueOf(" Nota total = "+ordenar.getNotas(i)
+"\n");
}
//MUESTRO LO QUE CONTIENE LA VARIABLE datosVect
JOptionPane.showMessageDialog(null, "Notas
registradas"+"\n"+datosVect);
}
obj.crearVector();
//IMPLEMENTO UN FOR PARA LLENAR EL VECTOR ESTUDIANTE Y EL DE
NOTAS
for(int i=0; i<=obj.getTam()-1; i++)
{
String nom = (JOptionPane.showInputDialog(null, "nombre del estudiante
"+i+":"));
obj.setNombres(i, nom);
float dato = Float.parseFloat(JOptionPane.showInputDialog(null, "Digitar
Nota "+i+":"));
obj.setNotas(i, dato);
}
JOptionPane.showMessageDialog(null, "Informacion Suministrada con
exito!...");
mostrarVector(obj); //MUESTRO EL VECTOR
obj.ordenarShell(); //LLAMO EL METODO ORDENARSHELL() DE ESTA
MANERA ORDENA EL //VECTOR NOTA DE MAYOR A MENOR
JOptionPane.showMessageDialog(null, "Ordenando por shell de mayor a
menor!...");
mostrarVector(obj); //MUESTRO EL VECTOR ORDENADO
JOptionPane.showMessageDialog(null, "mejores estudiante");
//ALGORITMO PARA MOSTRAR LOS TRES MEJORES ESTUDIANTES
,RECUERDE QUE LUEGO DE HABER //ORGANIZADO EL VECTOR NOTAS DE
MAYOR A MENOR ,SABEMOS QUE LAS TRES NOTAS PRIMERAS //SON LAS
MEJORES
String datosMejores="";
for(int i=0; i<3; i++){
datosMejores = datosMejores+String.valueOf("estudiante "+obj.getNombres(i)+"
Nota = "+obj.getNotas(i)+"\n");
}