Filtro CPL Polarizado ventajas

Métodos de ordenación en Java (Intercambio, Inserción, Selección, Inserción Binaria) En Gráficos Por Ivan Luis Jimenez (IvanovicHacker)

En este articulo se encuentra escrito el código que implemente en Java usando métodos de ordenación, existen muchos métodos de ordenación en este caso únicamente utilizo cuatro métodos; Intercambio, Inserción, Selección e Inserción Binaria en otra ocasión le agregare los otros métodos, por el momento son los métodos que he visto en mi escuela y faltan varios por verlos e implementarlos.

Unas capturas de como queda el programa;





Este el código que implemente, fue realizado por mi, únicamente los métodos y algoritmos fueron tomados de otras fuentes.



import java.awt.Color;
import javax.swing.JOptionPane;

/**
 *
 * @author Ivan Luis Jimenez
 */
public class Metodos_de_Ordenacion extends javax.swing.JFrame {

    /**
     * Creates new form Metodos_de_Ordenacion
     */
    public Metodos_de_Ordenacion() {
        initComponents();
        this.getContentPane().setBackground(Color.pink);
        this.setTitle("METODOS DE ORDENACION");
        Ingresar_Datos.setBackground(Color.yellow);
        Aceptar.setBackground(Color.yellow);
        Limpiar.setBackground(Color.yellow);
        Cuadro.setBackground(Color.pink);
        
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        buttonGroup2 = new javax.swing.ButtonGroup();
        Ingresar_Datos = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        Salida_2 = new javax.swing.JTextArea();
        jLabel2 = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        Salida_1 = new javax.swing.JTextArea();
        jLabel3 = new javax.swing.JLabel();
        Limpiar = new javax.swing.JButton();
        Cuadro = new javax.swing.JPanel();
        Intercambio = new javax.swing.JRadioButton();
        Insercion = new javax.swing.JRadioButton();
        Seleccion = new javax.swing.JRadioButton();
        Insercion_Binaria = new javax.swing.JRadioButton();
        jLabel4 = new javax.swing.JLabel();
        Aceptar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        Ingresar_Datos.setText("Ingresar Datos");
        Ingresar_Datos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Ingresar_DatosActionPerformed(evt);
            }
        });

        Salida_2.setColumns(20);
        Salida_2.setRows(5);
        jScrollPane1.setViewportView(Salida_2);

        jLabel2.setText("Datos Ordenados:");

        Salida_1.setColumns(20);
        Salida_1.setRows(5);
        jScrollPane2.setViewportView(Salida_1);

        jLabel3.setText("Datos del Arreglo:");

        Limpiar.setText("Limpiar");
        Limpiar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                LimpiarActionPerformed(evt);
            }
        });

        Cuadro.setToolTipText("Metodos");
        Cuadro.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        buttonGroup2.add(Intercambio);
        Intercambio.setText("Metodo Intercambio");
        Intercambio.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                IntercambioActionPerformed(evt);
            }
        });
        Cuadro.add(Intercambio, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, -1, -1));

        buttonGroup2.add(Insercion);
        Insercion.setText("Metodo Inserción");
        Cuadro.add(Insercion, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 50, -1, -1));

        buttonGroup2.add(Seleccion);
        Seleccion.setText("Metodo Selección");
        Cuadro.add(Seleccion, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 10, -1, -1));

        buttonGroup2.add(Insercion_Binaria);
        Insercion_Binaria.setText("Metodo Inserción Binaria");
        Cuadro.add(Insercion_Binaria, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 56, -1, -1));

        jLabel4.setText("Ordenar por:");

        Aceptar.setText("Aceptar");
        Aceptar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AceptarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jLabel4)
                        .addGap(218, 218, 218))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(Limpiar)
                        .addGap(202, 202, 202))))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(jLabel3))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel2)))
                .addGap(0, 0, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(Aceptar)
                .addGap(202, 202, 202))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(Cuadro, javax.swing.GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(Ingresar_Datos)
                        .addGap(186, 186, 186))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jScrollPane2)
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jScrollPane1)
                        .addContainerGap())))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(7, 7, 7)
                .addComponent(Ingresar_Datos)
                .addGap(18, 18, 18)
                .addComponent(jLabel3)
                .addGap(3, 3, 3)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(Cuadro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Aceptar)
                .addGap(25, 25, 25)
                .addComponent(jLabel2)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(Limpiar)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                        
    int[] arreglo = new int[4];
    private void Ingresar_DatosActionPerformed(java.awt.event.ActionEvent evt) {                                               

        int numeros;
        for (int i = 0; i < arreglo.length; i++) {
            arreglo[i] = Integer.parseInt(JOptionPane.showInputDialog("Teclee los valores del Arreglo " + "Dato " + "[" + i + "]"));
        }
        //JOptionPane.showMessageDialog(null," Teclee los valores del arreglo:");

        for (int b = 0; b < arreglo.length; b++) {
            Salida_1.append("[" + arreglo[b] + "] - ");
        }
    }                                              

    private void IntercambioActionPerformed(java.awt.event.ActionEvent evt) {                                            

    }                                           

    private void AceptarActionPerformed(java.awt.event.ActionEvent evt) {                                        
        Metodos_de_Ordenacion nuevo = new Metodos_de_Ordenacion();
        if (Intercambio.isSelected()) {
            Salida_2.append("METODO INTERCAMBIO\n");
            nuevo.M_Intercambio(arreglo);
            for (int a = 0; a < arreglo.length; a++) {
                Salida_2.append("[" + arreglo[a] + "]-");
            }
        }
        if (Insercion.isSelected()) {
            Salida_2.append("METODO INSERCION\n");
            nuevo.M_Inserccion(arreglo);
            for (int b = 0; b < arreglo.length; b++) {
                Salida_2.append("[" + arreglo[b] + "]-");
            }
        }
        if (Seleccion.isSelected()) {
            Salida_2.append("METODO SELECCION\n");
            nuevo.M_Seleccion(arreglo);
            for (int c = 0; c < arreglo.length; c++) {
                Salida_2.append("[" + arreglo[c] + "]-");
            }
        }
        if (Insercion_Binaria.isSelected()) {
            Salida_2.append("METODO INSERCION BINARIA\n");
            nuevo.M_InsercionBinaria(arreglo);
            for (int d = 0; d < arreglo.length; d++) {
                Salida_2.append("[" + arreglo[d] + "]-");
            }
        }
    }                                       

    private void LimpiarActionPerformed(java.awt.event.ActionEvent evt) {                                        
        Salida_1.setText("");
        Salida_2.setText("");
    }                                       

    public void M_Intercambio(int[] arreglo) {
        {

            int temp;
            for (int i = 1; i < arreglo.length; i++) {
                for (int j = 0; j < arreglo.length - 1; j++) {
                    if (arreglo[j] > arreglo[j + 1]) {
                        temp = arreglo[j];
                        arreglo[j] = arreglo[j + 1];
                        arreglo[j + 1] = temp;
                    }
                }
            }
        }

    }

    public void M_Inserccion(int[] arreglo) {

        for (int i = 1; i < arreglo.length; i++) {
            int aux = arreglo[i];
            int j;
            for (j = i - 1; j >= 0 && arreglo[j] > aux; j--) {
                arreglo[j + 1] = arreglo[j];
            }
            arreglo[j + 1] = aux;
        }
    }

    public void M_Seleccion(int[] arreglo) {

        int i, j, k, p, buffer, limit = arreglo.length - 1;
        for (k = 0; k < limit; k++) {
            p = k;
            for (i = k + 1; i <= limit; i++) {
                if (arreglo[i] < arreglo[p]) {
                    p = i;
                }
                if (p != k) {
                    buffer = arreglo[p];
                    arreglo[p] = arreglo[k];
                    arreglo[k] = buffer;
                }
            }
        }
    }

    public void M_InsercionBinaria(int[] arreglo) {

        int i = 0, aux = 0, izq = 0, der = 0, m = 0, j = 0;
        for (i = 1; i < arreglo.length; i++) {
            aux = arreglo[i];
            izq = 0;

            der = i - 1;
            while (izq <= der) {
                m = (int) ((izq + der) / 2);
                if (aux <= arreglo[m]) {
                    der = m - 1;
                } else {
                    izq = m + 1;
                }
            }
            j = i - 1;
            while (j >= izq) {
                arreglo[j + 1] = arreglo[j];
                j = j - 1;
            }
            arreglo[izq] = aux;
        }
    }

    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Metodos_de_Ordenacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Metodos_de_Ordenacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Metodos_de_Ordenacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Metodos_de_Ordenacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Metodos_de_Ordenacion().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton Aceptar;
    private javax.swing.JPanel Cuadro;
    private javax.swing.JButton Ingresar_Datos;
    private javax.swing.JRadioButton Insercion;
    private javax.swing.JRadioButton Insercion_Binaria;
    private javax.swing.JRadioButton Intercambio;
    private javax.swing.JButton Limpiar;
    private javax.swing.JTextArea Salida_1;
    private javax.swing.JTextArea Salida_2;
    private javax.swing.JRadioButton Seleccion;
    private javax.swing.ButtonGroup buttonGroup2;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    // End of variables declaration                   
}

Código implementado por Ivan Luis Jimenez (IvanovicHacker)(Ivanovich)

Ing. en Computación 

Comentarios

Publicar un comentario