Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Código en java:
public static void bubbleSort(int[] a){
int temp;
for (int i=0; i<a.length-1; i++)
for (int j=0; j<a.length-1-i; j++)
if ( a[j] > a[j+1] ) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
1- Se pide un programa que pida un número (n) de elementos para guardar en un array,
el cual se llenará introduciendo números por teclado (usando la clase Scanner). El
programa deberá ordenar los números mediante el algoritmo de ordenación de
burbuja y los mostrará antes y después de la ordenación.
El resultado de la corrida dado el caso de estudio siguiente:
Debe dar como resultado:
Solución:
a [11, 7, 12, 14, 19, 1, 6, 18, 8, 20] public static void
Iteración 1: i=0; i<8; i++ selectSort(int[] a) {
min=0 int temp;
Iteración 1: j=1; j<9 ; j++ for (int i = 0; i < a.length
if(a[1]=7 < 11=a[0]) - 1; i++) {
min= a[1]=7 int min = i;
Iteración 2: j=2; j<9 ; j++ for (int j = i + 1; j <
if(a[2]=12 < 11=a[0])--NO a.length; j++) {
Iteración 3: j=3; j<9 ; j++ if (a[j] < a[min]) {
if(a[3]=14 < 11=a[0])—NO min = j;
Iteración 4: j=4; j<9 ; j++ }
if(a[4]=19 < 11=a[0])—NO }
Iteración 5: j=5; j<9 ; j++ temp = a[i];
if(a[5]=1 < 11=a[0]) a[i] = a[min];
min= 1a[5] a[min] = temp;
Iteración 6: j=6; j<9 ; j++ }
if(a[6]=6 < 11=a[0]) }
min= 6 a[6]
Iteración 7: j=7; j<9 ; j++
if(a[7]=18 < 11=a[0])--NO
Iteración 8: j=8; j<9 ; j++
if(a[8]=8 < 11=a[0])
min= 8
temp = 11a[0]
a[0] = 11
a[0]=11
a [11, 19, 9, 7, 3, 10, 13, 15, 8,
12]
Iteración 1: i=1; i<8; i++
min=1
Iteración 1: j=2; j<9 ; j++
if(a[2]=9 < 19=a[1])
min= a[2]=9
Iteración 2: j=3; j<9 ; j++
if(a[3]=7 < 19=a[1])
min= a[3]=9
Iteración 3: j=4; j<9 ; j++
if(a[4]=7 < 19=a[1])
min= a[4]=7
Iteración 4: j=5; j<9 ; j++
if(a[5]=10 < 19=a[1])
min= a[5]=10
Iteración 5: j=6; j<9 ; j++
if(a[6]=13 < 19=a[1])
min= a[6]=13
Iteración 6: j=7; j<9 ; j++
if(a[7]=15 < 19=a[1])
min= a[7]=15
Iteración 7: j=8; j<9 ; j++
if(a[8]=8 < 19=a[1])
min= a[8]=8
temp = 19a[1]
a[1] = 8
a[8]=19
a [11, 19, 9, 7, 3, 10, 13, 15, 8, 12]
Iteración 3: i=2; i<8; i++
min=2
Iteración 1: j=3; j<9 ; j++
if(a[3]=7 < 19=a[1])
min= a[3]=7
Iteración 2: j=4; j<9 ; j++
if(a[4]=3 < 19=a[1])
min= a[4]=3
Iteración 3: j=5; j<9 ; j++
if(a[5]=10 < 19=a[1])
min= a[5]=10
Iteración 4: j=6; j<9 ; j++
if(a[6]=13 < 19=a[1])
min= a[6]=13
Iteración 5: j=7; j<9 ; j++
if(a[7]=15 < 19=a[1])
min= a[7]=15
Iteración 6: j=8; j<9 ; j++
if(a[8]=8 < 19=a[1])
min= a[8]=8
temp = 9a[2]
a[1] = 9
a[2]=9
a[11, 7, 12, 14, 8, 1, 6, 18, 19, 20]
Solución:
a [15, 5, 4, 18, 12, 19, 14, 10, 8, 20] public static void insertSort(int[] a) {
int temp;
Iteración 1: i=1; i<9; i++ for (int i = 1; i < a.length; i++) {
temp = a[i];
temp=a[i]= 5 int j = i - 1;
j=0 while (j >= 0 && temp < a[j]) {
a[j + 1] = a[j];
Iteracion1: While( j >= 0 && 5< 15 { j--;
a[1] =15 }
a[j + 1] = temp;
j- - }
} }
}
a[0] = 5
a [5, 15, 12, 14, 19, 1, 6, 18, 8,
20]
Iteración 2: i=2; i<9; i++
temp=a[i]= 12
j=1
Iteracion1: While( j >= 1 && 12< 15 {
a[2] =15
j- -
Iteracion1: While( j >= 0 && 12< 15 {
a[1] =12
j- -
}
a[1] = 12
a [5, 12, 15, 14, 19, 1, 6, 18, 8,
20]
Iteración 3: i=3; i<9; i++
temp=a[i]= 14
j=2
Iteracion1: While( j >= 0 && 14< 12 {
a[3]=14
a [4, 5, 15, 18, 12, 19, 14, 10,
8, 20]