Código de Java - Ordenacion por Burbuja

Requerimientos

Java.

1.0

Publicado el 19 de Octubre del 2022gráfica de visualizaciones de la versión: 1.0
402 visualizaciones desde el 19 de Octubre del 2022
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Util algoritmo para ordenar vectores e implementarlo para otros datos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package ia;
 
/**
 * Ejemplo del algoritmo de burbuja para ordenar.
 * Formula para calcular el numero de comparaciones: n elevado a 2 menos n dividido entre 2.
 * @author Rafael Angel MF
 */
public class Burbuja {
    private double []mDouble={2.7, 3.4, 1.5,1.2,4.2,4,3.1,2.1,1.1};
 
    /**
     * Formula standar para obtener el numero de comparaciones.
     * Existen otras formulas, para el mejor de los casos y para el peor de los casos.
     * @return Retorna la cantidad de veces que realiza comparaciones.
     */
    public double cantidadDeComparaciones(){
        int n=mDouble.length;
        return (Math.pow(n, 2)-n)/2;
    }
 
 
    public double []getMatrizDouble(){
        return mDouble;
    }
 
    public double []mOrdenarDeMenor_a_mayor(double []dame_una_matriz_de_numeros_dobles){
        double aux=0;
        double []m=dame_una_matriz_de_numeros_dobles;
        for(int idSuperior=0; idSuperior<dame_una_matriz_de_numeros_dobles.length; idSuperior++){
            for(int idInterno=0; idInterno<dame_una_matriz_de_numeros_dobles.length; idInterno++){
                if(m[idSuperior]<m[idInterno]){
                    aux=m[idInterno];
                    m[idInterno]=m[idSuperior];
                    m[idSuperior]=aux;
                }
            }
        }
        return m;
    }
 
    public double []mOrdenarDeMayor_a_menor(double []dame_una_matriz_de_numeros_dobles){
        double aux=0;
        double []m=dame_una_matriz_de_numeros_dobles;
        for(int idSuperior=0; idSuperior<dame_una_matriz_de_numeros_dobles.length; idSuperior++){
            for(int idInterno=0; idInterno<dame_una_matriz_de_numeros_dobles.length; idInterno++){
                if(m[idSuperior]>m[idInterno]){
                    aux=m[idInterno];
                    m[idInterno]=m[idSuperior];
                    m[idSuperior]=aux;
                }
            }
        }
        return m;
    }
 
    public void pintar(double []m, String msj){
        String datos="Matriz\n";
        datos=msj + "\n"+datos;
        for(int i=0; i<m.length; ++i){
            datos+="matriz["+i+"]="+m[i]+"\n";
        }
        datos+="Final de la matriz\n\n";
        System.out.println(datos);
    }
 
    public static void main(String []m){
        double []mOrdenada={};
        Burbuja b=new Burbuja();
        b.pintar(b.getMatrizDouble(),"Datos en desorden.");
        mOrdenada=b.getMatrizDouble();
        mOrdenada=b.mOrdenarDeMayor_a_menor(mOrdenada);
        b.pintar(mOrdenada,"Datos ordenados de mayor a menor.");
        mOrdenada=b.mOrdenarDeMenor_a_mayor(mOrdenada);
        b.pintar(mOrdenada,"Datos ordenados de menor a mayor.");
 
        System.out.println("Cantidad de comparaciones en el ordenamiento " + b.cantidadDeComparaciones());
    }
 
}



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7297