Métodos de ordenación en Java (Intercambio, Inserción, Selección, Inserción Binaria) En Gráficos Por Ivan Luis Jimenez (IvanovicHacker)
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
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;
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
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Comentarios
hoal m3nd3it aydu
ResponderBorrarayuda asduasd sdsd
ResponderBorrardfd hola
ResponderBorrar