Me estoy haciendo mal en la salida SelectionSort

a B C D :

Se suponía que debía obtener la salida como

{-10,6,7,13,20,80,90,100} 

pero yo estoy recibiendo la salida como

{20,100,13,6,7,80,-10,90} 

en SelectionSort. ¿Por qué recibo esta salida? ¿Como puedó resolver esté problema?

    public class x{
        public static void main(String args[]){
            int[] a= {20,13,6,7,80,-10,90,100};
            int i,j,c,largest;
            for(i=a.length-1;i>0;i--){
                largest=0;
                for(j=1;j<=(a.length-1);j++){
                    if(a[j]>a[largest]){
                        largest=j;
                    }

                }
                swap(a,largest,i);
            }
            for(c=0;c<a.length;c++)
                System.out.println(a[c]);
        }
        public static void swap(int[] arr, int a, int b){
            int temp;
            if(a==b){
                return;
            }
            temp=arr[a];
            arr[a]=arr[b];
            arr[b]=temp;
        }
    }
Ivan joven:
public class x{
        public static void main(String args[]){
            int[] a= {20,13,6,7,80,-10,90,100};
            int i,j,c,largest;
            for(i=a.length-1;i>=0;i--){
                largest=0;
                for(j=1;j<=i;j++){
                    if(a[j]>a[largest]){
                        largest=j;
                    }

                }
                swap(a,largest,i);
            }
            for(c=0;c<a.length;c++)
                System.out.println(a[c]);
        }
        public static void swap(int[] arr, int a, int b){
            int temp;
            if(a==b){
                return;
            }
            temp=arr[a];
            arr[a]=arr[b];
            arr[b]=temp;
        }
    }

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=231220&siteId=1
Recomendado
Clasificación