•  >  기사  >  웹 프론트엔드  >  JAVA_javascript 기술의 네 가지 기본 정렬 방법에 대한 예제 요약

    JAVA_javascript 기술의 네 가지 기본 정렬 방법에 대한 예제 요약

    WBOY
    WBOY원래의
    2016-05-16 15:49:131014검색

    이 기사의 예에서는 JAVA의 네 가지 기본 정렬 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

    JAVA에는 버블 방식, 삽입 방식, 선택 방식, SHELL 정렬 방식 등 4가지 기본 정렬 방식이 있으며, 선택 방식은 버블 방식을 개선한 것이고, SHELL 정렬 방식은 삽입 방식을 개선한 것입니다. 기본적으로는 정리할 수 있습니다. 정렬 방법은 삽입 방법과 버블 방법 두 가지가 있습니다

    1 삽입방법 :

    정렬된 컬렉션을 순회하며 요소에 도달할 때마다 이 요소를 순회하여 이전의 모든 요소와 비교하며 정렬 순서를 충족하는 요소는 컬렉션에 표시되어야 하는 위치로 하나씩 이동됩니다. 현재 범위. 교환은 인접 순회 이동과 이중 루프 제어로 구현됩니다. 이 정렬 방법은 로컬 스네이크 유형에 속합니다. 내 랜드 카드에서는 모든 것을 특정 순서로 배열해야 합니다.

    처리 코드는 다음과 같습니다.

    public void sort(int[] data) {
    int temp; 
    for(int i=1; i〈data.length; i++){
    for(int j=i; (j〉0)&&(data[j]〉data[j-1]); j--){
    temp=date[j]; 
    data[j]=data[j-1]; 
    data[j-1]=temp; }
    } 
    }
    

    2 버블 방식:

    내부 루프는 한 번의 순회 후 세트의 가장 작은(가장 큰) 요소가 올바른 위치에 나타나고 다음 번에는 다음으로 가장 작은 요소가 되도록 보장합니다. . . 이 방법은 다양한 집합 분포 상황에서 기본적으로 동일한 수의 교환 이동을 가지며 가장 느린 정렬입니다. 구현 역시 이중 루프 제어입니다. 이 분류 방법은 극단을 찾는 것을 의미하는 도강용에 속합니다. 그러나 강도강에도 장형, 둘째 형 등이 있으므로 장형과 둘째 형만 선택할 수 있습니다.

    처리 코드는 다음과 같습니다.

    public static int [] maopao(int[] data) {
    int temp; 
    for(int i=0; i〈data.length-1; i++){
    for(int j=i+1; j〈data.length; j++){
    if(data[i]〈data[j]){
    temp=data[i]; 
    data[i]=data[j]; 
    data[j]=temp; 
    } 
    }
    }
    return data;
    
    

    세 가지 선택 방법:

    이 방법은 집합을 순회하여 가장 작은(큰) 요소의 위치만 기록합니다. 한 번의 순회 후 버블링과 유사한 위치 교환 작업을 수행합니다. 그러나 비교 과정에서는 스왑 작업이 수행되지 않습니다. , 요소의 위치만 기록됩니다. 순회당 하나의 교환 작업만 수행됩니다. 이 쌍은 교환 순서에 시간이 많이 걸리는 요소에 더 적합합니다. 이 정렬 방법은 버블 방식보다 훨씬 더 깊습니다. 극단적인 데이터를 먼저 기억한 다음 데이터를 순회한 후 처리합니다. 나보다 조금 더 극단적인 경우에만 처리하면 되는 버블 방식과 달리 선택은 메소드는 해당 범위 내에서 가장 극단적인 데이터만 처리합니다.

    public static void xuanze(int[] data) {
    int temp; 
    for (int i = 0; i 〈 data.length; i++) {
    int lowIndex = i; 
    for (int j = data.length - 1; j 〉 i; j--) {
    if (data[j] 〉 data[lowIndex]) {
    lowIndex = j; 
    }
    }
    temp=data[i]; 
    data[i]=data[lowIndex]; 
    data[lowIndex]=temp; 
    }
    }
    
    

    4개의 쉘 정렬:

    삽입 정렬의 개선 사항으로, 정렬 기준에 따라 집합 요소를 그룹으로 나누어 각 그룹이 먼저 로컬 범위 내에서 기본 순서로 정렬되고 최종적으로 모든 요소가 한 번 정렬됩니다. 삽입 정렬.

    public void sort(int[] data) {
    for(int i=data.length/2; i〉2; i/=2){
    for(int j=0; j〈i; j++){
    insertSort(data,j,i); 
    }
    }
    insertSort(data,0,1); 
    }
    private void insertSort(int[] data, int start, int inc) {
    int temp; 
    for(int i=start+inc; i〈data.length; i+=inc){
    for(int j=i; (j〉=inc)&&(data[j]〈data[j-inc]); j-=inc){
    temp=data[j]; 
    data[j]=data[j-inc]
    data[j-inc]=temp; 
    }
    }
    }
    
    

    이 기사가 모든 사람의 Java 프로그래밍 설계에 도움이 되기를 바랍니다.

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.