Ordenar la selección de los dos métodos

1. Seleccionar el tipo común

. 1  público  clase Case {
 2  
3.      Pública  estáticas  void principales (String [] args) {
 4.          Int A [] = new new  int [] {5,4,27,1,9,8,3,12, -9 };
 . 5          // consulta ciclos externas totales 
6.          para ( int i = 0; I <a.length - 1;. I ++ ) {    
 . 7              // asumir un primer valor de índice mínimo 
. 8              int   min = I;
 9.              // si no min es el valor mínimo, a través de la matriz, el índice min valor mínimo almacenado 
10              para ( int J = I + 1;. J <a.length; J ++ ) {
 . 11                    IF(A [min]> A [J]) {
 12 es                         min = J;
 13 es                    }
 14              }
 15              // Si este tiempo no es igual a la min subíndice i, la conmutación ah [min] y un valores [i]; 
16              IF (min =! I) {
 17.                 int tmp = a [min];
 18 es                 a [min] = a [i];
 . 19                 a [I] = tmp;
 20 es              }             
 21 es        }
 22 es          para ( int i = 0; I < a.length; I ++ ) {
 23 es              System.out.println (A [I]);
 24         }
 25          
26      }

2. "revertir" el tipo de selección

mínimo común ordenación por selección se encenderá el número de columna más a la izquierda, en otros tipos de ideas se convertirá en el valor máximo de la extrema derecha, el espacio real de dos algoritmos y complejidad no es diferente, pero puede elegir una comprensión más profunda de la especie.

pública  clase de demostración {

    pública  estática  vacíos principales (args String []) {

        int [] a = {-67, -34, -5, 5, 6, 25, 45 };
        
        // consulta el número total 
        de ( int i = 0; I <a.length - 1;. I ++ ) {
            
            // Guardar el máximo índice de elemento 
            int   maxindex = 0; // asumir una primera posición en la matriz para el índice de elemento de máximo
            
            para ( int k = 1; k <a.length - i; k ++ ) {
                
                si (a [k]> una [maxindex]) {
                    maxindex = k;
                }
                
            }
            si (maxindex = a.length - i - 1! ) {
                 int temp = un [maxindex];
                un [maxindex] = a [a.length - i - 1 ];
                un [a.length - i - 1] = temp;
            }
        }
        
        para ( int i = 0; i <a.length; i ++ ) {
            System.out.println (a [i]);
        }

 

Supongo que te gusta

Origin www.cnblogs.com/ywfblog/p/12545638.html
Recomendado
Clasificación