poemas de amor ESTRUCTURA DE DATOS: 2009

jueves, 31 de diciembre de 2009

"Ordenamiento quicksort"





El ordenamiento rápido (quicksort en inglés) es un algoritmo basado en la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n.

El vector desordenado es enviado a la función "quicksort()"
Al llegarle el vector a la función, se toma el primer elemento del vector (o cualquiera; Nota: en nuestro caso tomamos el primero) y se considera ese elemento como "pivote" o "comodín".
Después se recorre todo el vector; durante el recorrido, se va buscando los numeros menores que el pivote, sí el elemento del vector en una vuelta es menor que el pivote, entonces se manda a la izquierda del pivote, de lo contrario no se hace nada. Esto provocará que después de recorrer todo el vector, todos los elementos menores que el pivote quedarán a la izquierda de este y los mayores al pivote a la derecha.
Se envía recursivamente la mitad izquierda del vector (números menores que el pivote sin tomar en cuenta el mismo pivote) a la función quicksort
Se envía recursivamente la mitad derecha del vector (números mayores que el pivote sin tomar en cuenta el mismo pivote) a la función quicksort






Enseguida presentamos un ejemplo con su respectivo codigo y una imagen de como de muestra corriendo


public class quicksort {

public static void qsort(Comparable [] c, int inicio, int fin) {

if(fin<=inicio) return;
Comparable comp=c[inicio];
int i=inicio, j=fin+1;
for(;;){
do i++; while(i do j--;while(j>inicio && c[j].compareTo(comp)>0 );
if (j<=i) break;
Comparable tmp=c[i];
c[i]=c[j];
c[j]=tmp;

}
c[inicio]=c[j];
c[j]=comp;
qsort(c, inicio, j-1);
qsort(c, j+1, fin);
}

public static void qsort(Comparable[] c){
qsort(c, 0, c.length-1);
}
public static void main(String[] args){
int i;
Double[] arr=new Double [1000];
System.out.println("Elementos aleatorios:");
for(i=0; i arr[i]=new Double((int)(Math.random()*99));
System.out.print(arr[i]+"");
}


System.out.println("\nelementos ordenados:");
for(i=0; i System.out.print(arr[i]+"");

}
}




Ahora el mismo ejemplo solo que con los valores flotantes:


public class quicksort {

public static void qsort(Comparable [] c, int inicio, int fin) {

if(fin<=inicio) return;
Comparable comp=c[inicio];
int i=inicio, j=fin+1;
for(;;){
do i++; while(i
do j--;while(j>inicio && c[j].compareTo(comp)>0 );
if (j<=i) break;
Comparable tmp=c[i];
c[i]=c[j];
c[j]=tmp;

}
c[inicio]=c[j];
c[j]=comp;
qsort(c, inicio, j-1);
qsort(c, j+1, fin);
}

public static void qsort(Comparable[] c){
qsort(c, 0, c.length-1);
}
public static void main(String[] args){
int i;
Double[] arr=new Double [1000];
System.out.println("Elementos aleatorios:");
for(i=0; i
arr[i]=new Double((int)(Math.random()*99));
System.out.print(arr[i]+"");
}


System.out.println("\nelementos ordenados:");
for(i=0; i
System.out.print(arr[i]+"");

}
}




"Ordenamiento Burbuja"


El metodo de ordenamiento burbuja es bastante sencillo, consiste en evaluar pares de elementos contiguos del arreglo y si el primero es mayor que el siguiente los intercambia (los más chicos quedan abajo). Todo ésto sucede dentro de dos ciclos for que recorren el arreglo. El ciclo más interno realiza las comparaciones, y se asegura ya en la primera pasada completa que el elemento ás grande del arreglo suba a la posición más alta (ésto más adelante nos permitirá desarrollar un algorítmo mejorado del método burbuja). .


Aqui un ejemplo y su codigo:


class Main {
public static int izquierda,derecha,ultimo; //variables para ordenamiento
public static int arreglo[] = {1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153,
15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285,
1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679,
593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290,
910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439,
148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38,
538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 ,
17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286,
1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423,
1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833,
389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118,
39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443,
141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168};
public static void main(String[] args) {
izquierda = 1;
derecha = arreglo.length;
ultimo = arreglo.length-1;
do{
for(int i=arreglo.length-1;i>0;i--){
//Burbuja hacia la izquierda
//Los valores menores van a la izquierda
if (arreglo[i-1] > arreglo[i]){
int aux = arreglo[i]; // variable auxiliar para poder hacer intercambio de
arreglo[i] = arreglo[i-1]; // posicion
arreglo[i-1] = aux;
ultimo = i;
}
}
izquierda = ultimo+1;
for(int j=1;j arreglo[j]){
int aux = arreglo[j];
arreglo[j] = arreglo[j-1];
arreglo[j-1] = aux;
ultimo = j;
}
}
derecha = ultimo-1;
}while(derecha >= izquierda);
for(int i=0;i







La siguiente pantalla nos muestra el mismo programa pero evaluado con 1000 datos flotantes y enseguida su respectivo codigo





class Main { public static int izquierda,derecha,ultimo; //variables para ordenamiento

public static int arreglo[] = {1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153, 15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285, 1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679, 593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290, 910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439, 148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38, 538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 , 17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286, 1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423, 1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833, 389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118, 39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443, 141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153, 15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285, 1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679, 593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290, 910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439, 148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38, 538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 , 17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286, 1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423, 1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833, 389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118, 39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443, 141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153, 15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285, 1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679, 593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290, 910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439, 148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38, 538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 , 17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286, 1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423, 1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833, 389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118, 39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443, 141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153, 15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285, 1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679, 593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290, 910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439, 148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38, 538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 , 17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286, 1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423, 1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833, 389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118, 39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443, 141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168,1212, 117, 839, 1382, 741, 1357, 1293, 899, 1202, 1227, 982, 1153, 15, 831 ,1202, 287, 417, 329, 674, 1375, 142, 1368, 1395, 1317, 810, 471, 288, 117, 1285, 1115, 572, 135, 494, 715, 581, 1225, 1221 ,85 ,119, 220, 140, 182, 1260, 129, 517, 1253, 679, 593 ,1424, 700, 361, 435, 349, 1496, 1156, 1207, 1561, 425, 529, 88, 1136, 163, 975, 1290, 910, 913, 504, 654, 1124, 204, 532 ,1317, 272, 423, 629, 1216, 747, 637, 1435, 847, 927, 1426, 1452, 1439, 148, 1516, 684, 530, 499, 1168, 1525, 1172, 1152, 601, 1549, 1313, 54, 321, 899, 1533, 318, 522, 38, 538, 612, 917, 1521, 344, 808, 174, 268, 672, 577, 1189, 858, 177, 686, 873, 1176, 1381, 1251 , 17, 501, 723, 307, 235, 834, 863, 137,3, 599, 218, 799, 1281, 389, 767, 1451 ,1184, 187, 12, 1286, 1266, 1124, 899, 742, 859, 164, 209 ,633, 188, 689, 1225, 71, 497, 587, 993, 67, 986, 677 ,53 ,1423, 1398, 139, 53, 1524, 877, 894, 990, 298, 922, 886, 1468, 568, 911, 238, 490, 1257, 262, 387, 833, 389, 821 ,124, 277, 200, 957, 1111 ,1283, 1359, 1447, 602, 3, 59, 860, 109, 1102, 867 ,1338, 183, 1118, 39, 66, 662, 553, 981, 1173, 1231, 56, 811, 1117 ,240, 713, 1490, 279, 1391, 921 ,1044 ,1259, 383, 443, 141, 1222 ,372, 1484, 2375,45, 1482, 1097, 348, 1256, 140, 705 ,1294 ,273, 650, 797, 411, 1520, 15, 1168};

public static void main(String[] args) {

izquierda = 1;

derecha = arreglo.length;

ultimo = arreglo.length-1;

do{ for(int i=arreglo.length-1;i>0;i--){

//Burbuja hacia la izquierda //

Los valores menores van a la izquierda

if (arreglo[i-1] > arreglo[i]){ int aux = arreglo[i];

// variable auxiliar para poder hacer intercambio de

arreglo[i] = arreglo[i-1]; // posicion

arreglo[i-1] = aux; ultimo = i; } }

izquierda = ultimo+1;

for(int j=1;jif(arreglo[j-1] > arreglo[j]){

int aux = arreglo[j]; arreglo[j] = arreglo[j-1];

arreglo[j-1] = aux; ultimo = j;

} } derecha = ultimo-1; }

while(derecha >= izquierda);

for(int i=0;iSystem.out.println(arreglo[i]); } } }


lunes, 28 de diciembre de 2009

...:::Comenzamos:::...

Hola!!!
Bienvenidos a este blog donde publicaremos temas de la materia de ¨Estructura de Datos¨.
Los creadores:
Ing. Aremi Reyes Toriz y el Ing. Daniel Guzman Valencia
Estudiantes del 3er semestre de la Ingenieria en Sistemas Computacionales, TESCHA (Tecnologico de Estudios Superiores Chalco).
Esperamos que la informacion publicada sea del agrado y util para los visitantes, tambien estaremos dispuestos a aceptar comentarios buenos o malos. Queremos estar en contacto y comunicacion con ustedes.
Por su atencion
Muchas Gracias..