JAVA 정렬 알고리즘 의 빠 른 정렬
                                            
 5932 단어  JavaSE
                    
기본 사상:
                      ,
                         ,
                    ,
             ,
              .  알고리즘 소개
1.                 ,   key, key=a[0];
2.        ,i,j,i = 0;j = a.length -1, i       
   ,j           ;
3. key       ,    j      ,  key    
a[j],  key   a[j-1]   ,     key      ,   
a[0]=key          ;
4.     key,            ,     , a[0] key
   ,  a[0]    key,  a[1]   key   ,      
  i,a[i]>key,   a[i]   key    
5.           ,  key      key ,key    , 
 key ,        
6. key           ,     1 5,key        
   ,    1 5,             특징:
     :
      O(n^2)
      O(nlonn)
     :
      :O(logn)
      :O(n)
  자바 코드 구현
package com.lanou3g;
public class demo04 {
    public static void main(String[] args) {
        int[] a = {25,1,5,7,3,99,9,6,0,2,14,9,77,12,33};//    
        sort(a,0,14);//  sor  ,       ,    ,    
    }
    public static void sort(int arr[],int low,int high) {
        int l = low;   //l      
        int h = high;  //      
        int key = arr[low];  //key    
        while (l < h ) {   //        , key               
            while(l < h && key <= arr[h]) {
                h --;  //      key    
            }
            if(l < h) {  //  key a[h]  
                int temp = arr[h];
                arr[h] = arr[l];
                arr[l] = temp;  
                l++;  //     ,l++,  a[l]      key,      ,  i+1
            }
            while(l < h && arr[l] <= key) {
                l ++;   //      key   
            }
            if(l < h) { //     ,  key a[i]  
                int temp = arr[h];
                arr[h] = arr[l];
                arr[l] = temp;
                h--; //h      key,        ,  h 1
            }
        }
        if(l > low)   //  l==h,a[l]==a[h]==key
          sort(arr, low,l-1);  // key           sort
        if(h// key         sort
            sort(arr, h+1, high);
        for(int i = 0;i <= 14;i++) { //    
             System.out.print(arr[i]+" ");
        }
        System.out.println();
     }
}   결어
          ,         
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WeakHashMap,IdentityHashMap,EnumMap다른 맵 구현 클래스와 달리 WeakHashMap 클래스의 키 대상은 간접적으로 약한 인용의 지시 대상으로 저장되며, 키가 정상적으로 사용되지 않을 때 자동으로 항목을 제거합니다.더 정확히 말하면, 주어진 키에 대한...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.