Ordenamiento Burbuja
Enviado por Kevin Oceguera lemus • 15 de Octubre de 2021 • Informe • 3.264 Palabras (14 Páginas) • 58 Visitas
Ordenamiento Burbuja
package estructura1;
public class AlgoritmoBurbuja {
public static void main (String[] args) {
int [] A= {7,3,5,2,5,6,10};
for (int i=0; i<A.length-1;) {
for (int j=i+1; j<A.length ;j++ ) {
if (A[j]<A[i]) {
int temp=A[i];
A[i]=A[j];
A[j]= temp;
}
}
}
for (int i:A) {
System.out.println("["+i+"]");
}
}
}
Ordenamiento de insercion
package estructura1;
public class AlgoritmoInsercion {
public static void main (String [] args) {
int [] A = {10,3,4,7,9,15};
for(int i=1 ; i<A.length ; i++) {
int tmp = A[i];
int j = i-1;
while(j>=0 && A[j] > tmp) {
j= j-1;
}
A[j+1]=tmp;
}
for(int i : A) {
System.out.println(i);
}
}
}
Ordenamiento de mezcla
[MERGESORT]
package estructura1;
public class AlgoritmoMergeSort {
public static void main(String args[]){
int vec[]={45,17,23,67,21};
imprimirVector(vec);
System.out.println(":");
ordenacionMergeSort(vec);
imprimirVector(vec); }
public static void ordenacionMergeSort(int vec[]){
if(vec.length<=1) return;
int mitad= vec.length/2;
int izq[]=Arrays.copyOfRange(vec, 0, mitad);
int der[]=Arrays.copyOfRange(vec, mitad, vec.length);
ordenacionMergeSort(izq);
ordenacionMergeSort(der);
combinarVector(vec, izq, der);
}
public static void combinarVector(int v[], int izq[],int der[]){
int i=0;
int j=0;
for(int k=0;k<v.length;k++){
if(i>=izq.length){
v[k]=der[j];
j++;
continue; }
if(j>=der.length){
v[k]=izq[i];
i++;
continue; }
if(izq[i]<der[j]){
v[k]=izq[i];
i++;
}else{
v[k]=der[j];
j++;
}
}
}
public static void imprimirVector(int vec[]){
for(int i=0;i<vec.length;i++){
System.out.print(vec[i]+" ");
}
}
}
[IMPLEMENTACION]
public static void ordenacionMergeSort(int vec[]){
if(vec.length<=1)
return;
int mitad= vec.length/2;
int izq[]=Arrays.copyOfRange(vec, 0, mitad);
int der[]=Arrays.copyOfRange(vec, mitad, vec.length);
ordenacionMergeSort(izq);
ordenacionMergeSort(der);
combinar(vec, izq, der);
}
public static void combinar(int v[], int izq[],int der[]){
int i=0;
int j=0;
for(int k=0;k<v.length;k++){
if(i>=izq.length){
v[k]=der[j];
j++;
continue;
}
if(j>=der.length){
v[k]=izq[i];
i++;
continue;
}
if(izq[i]<der[j]){
v[k]=izq[i];
i++;
}else{
v[k]=der[j];
j++;
}
}
}
}
Metodo shell
public static void OrdenaShell(int [] array){
...