Trier 01 --- [trier les bases de tri à bulles && && && choisir le sort sort tas]

1. Trier les bases

1.1 Le tri initial

 

 1.2 Dix algorithme de tri

 

2. Trier Bubble (Bulle Trier)

2.1Baseline

 

    statique  vide (tableau Entier []) {bubbleSort1
         pour ( int end = array.length - 1; end> 0; end-- ) {
             pour ( int begin = 1; commencer <= fin; commencer ++ ) {
                 si (array [commencer ] <array [BEGIN - 1 ]) {
                     int tmp = array [commencer]; 
                    array [commencer] = Array [commencer - 1 ]; 
                    array [commencer - 1] = tmp; 
                } 
            } 
        } 
    }
Afficher le code

2.2 Bubble tri - optimisation 1

 

    statique  vide (tableau Entier []) {bubbleSort2
         pour ( int end = array.length - 1; end> 0; end-- ) {
             boolean trié = true ;
            pour ( int begin = 1; commencer <= fin; commencer ++ ) {
                 si (array [begin] <array [commencer - 1 ]) {
                     int tmp = Array [commencer]; 
                    array [commencer] = Array [commencer - 1 ]; 
                    array [commencer - 1] = tmp; 
                    Sorted = faux ;
                } 
            } 
            Si (tri) pause ; 
        } 
    }
Afficher le code

2.3 tri à bulles - 2 Optimisation

 

    statique  vide bubbleSort3 (Integer [] Array) {
         pour ( int Fin être array.length = - 1;. Fin> 0; end-- ) {
             // valeur initiale sortedIndex utile lorsque matrice entièrement commandé 
            int sortedIndex = 1. ;
             pour ( int begin = 1; BEGIN <= Fin, BEGIN ++. ) {
                 IF (Array [BEGIN] <Array [BEGIN - 1. ]) {
                     int tmp = Array [BEGIN]; 
                    Array [BEGIN] = Array [BEGIN - 1. ]; 
                    tableau [BEGIN - 1.] = tmp; 
                    sortedIndex= Commencer; 
                } 
            } 
            Fin = sortedIndex; 
        } 
    }
Afficher le code

Tri algorithme 2,4 stabilité (Stability)

 

 

 

 

2,5 situ algorithme (In-lieu Algorithm)

 

3. Sélection Trier (Sélection Sort)

3.1Baseline

 

    statique  vide SelectionSort (tableau Integer []) {
         pour ( int end = array.length - 1; end> 0; end-- ) {
             int maxindex = 0 ;
            pour ( int begin = 1; commencer <= fin; commencer ++ ) {
                 si (array [maxindex] <= Array [début]) { 
                    maxindex = BEGIN; 
                } 
            } 
            Int tmp = Array [maxindex]; 
            array [maxindex] = Array [END]; 
            array [END] = tmp;
        }
        
        // 8 10 9 10 
    }
Afficher le code

 

 3,2 heapsort (Tri Heap)

 

 3.3 heapsort obtenir

emballer com.mj.sort.cmp; 

importation com.mj.sort.Sort; 

publique  classe HeapSort <T étend Comparable <T >> étend Trier <T> {
     privé  int HEAPSIZE; 

    @Override 
    protégé  vide sort () {
         // 原地建堆 
        HEAPSIZE = array.length;
        pour ( int i = (HEAPSIZE >> 1) - 1; i> = 0; i-- ) { 
            siftDown (i); 
        } 
        
        Tandis que (HEAPSIZE> 1 ) {
             // 交换堆顶元素和尾部元素 
            swap (0, -HEAPSIZE); 

            // pour la position 0 siftDown (propriétés de récupération de la pile) 
            siftDown (0 ); 
        } 
    } 
    
    privé  vide siftDown ( int index) { 
        T Element = Array [index]; 
        
        int Half = HEAPSIZE >> 1. ;
         Le tout (index <moitié) { // index doit être nœud non-feuille
             // par défaut est laissé avec un nœud parent que 
            int l'childIndex = (index << 1) + 1.. , 
            T enfant = Array [le childIndex]; 
            
            int rightIndex le childIndex + = 1. ;
             // droit noeud enfant gauche enfant que grand 
            si(rightIndex <HEAPSIZE &&  
                    cmp (tableau [rightIndex], enfant) > 0 ) { 
                enfant = array [childIndex = rightIndex]; 
            } 
            
            // 大于等于子节点
            si (cmp (élément, enfant)> = 0) la rupture ; 
            
            tableau [index] = enfant; 
            index = childIndex; 
        } 
        Tableau [index] = élément; 
    } 
}
Afficher le code

 

Je suppose que tu aimes

Origine www.cnblogs.com/ggnbnb/p/12539761.html
conseillé
Classement