정렬 데이터 구조

알고리즘 = {}은 VAR] 

// 침강 당 최대 잔존 거품 정렬을 찾고 싱크 순차 순서의 최대 수에 도달 형성된다 
@ 버블 정렬은 단순한 정렬 알고리즘이다. 그것은 반복적으로 그들이 전환하기 잘못된 순서에 넣어 경우 열 수는, 두 가지 요소의 비교를 정렬 할 방문했다. 열 일 방문의 수는 더 이상 스왑이 필요하지 않습니다 때까지 반복, 즉 열 수가 이미 완료 소트라고하는 것입니다. 알고리즘의 이름의 기원은 때문에 작은 요소 것입니다 천천히 열 상단에 "부동"의 교환을 통해. 

// 1.1 알고리즘 설명 
인접 요소를 비교 //. 첫 번째보다 크면, 양자 교환, 
최종 요소이어야 그렇게 //이 마지막 쌍의 상기 제의 처음부터 끝까지, 인접 요소들의 각 쌍에 대해 동일한 작업을 수행 최대 수; 
// 마지막 제외한 모든 요소에 대해 상기 단계를 반복하는, 
정렬이 완료 될 때까지 반복 // 1-3 단계. 
= 함수 Algorithm.BubbleSort (ARR) 
{ 
   VAR LEN = arr.length; 

   대 (VAR의 I = 0; I <-len 1]. I ++) 
   { 
       대 (VAR의 J = 0; J <-len 1-I]. J ++) 
       { 
           IF (ARR [J]> ARR [J + 1이다.]) 
           { 
               var에 ARR의 TEMP = J + 1이다.];  
               ARR [. J + 1] = ARR [J]
               ARR [J] = TEMP; 
           }
       } 
   } 

   반환 ARR; 
} 

// 정렬 선택 (선택 - 종류) 간단한 정렬 알고리즘이다. 그것은 작동 : 첫째, 최소 정렬되지 않은 순서를 찾을 수 있습니다 (대형) 요소는 다음 시작 위치에 저장하고, 분류 순서가 남아있는 분류되지 않은 요소에서 가장 작은 (큰) 요소를 찾기 위해 계속 정렬 순서에 넣어 끝. 등등, 모든 요소 정렬 될 때까지. 
2.1 알고리즘 설명 // 
// N 레코드 직접 선택을 통해 분류 될 수 N - 1 회 직접 수득 정렬 순서 결과를 선택한다. 다음과 같이 알고리즘을 설명하는 
초기 상태 @ : 흐트러짐 영역 R [1..N은, 영역이 널 (null) 명령이다 
// 실행 i 번째 주문 (I = 1, 2, 3, ..., N - 1) 시작시, 및 R (i..n) - 전류 명령 영역과 장애 영역 R [1 1..i를]이었다. 현재 정렬 무질서 구역으로부터의 여행 - R [1..i] 및 R [i가 1 +되도록 R [K]가 선택된 최소 기록 키, 그것은 제 흐트러짐 기록 영역 R과 교환 할 ..n)의 레코드 수와 레코드 수 장애의 새로운 영역을 줄이기 위해 새로운 순서를 증가하도록 변경 하였다 
. // N-- 1 종료 시간 배열을 주문. 

= 함수 Algorithm.SelectionSort (ARR) 
{ 
    VAR = LEN arr.length; 

    var에에는 minIndex, TEMP는; 
    // 제 위치로 최소 번호를 확인하고 제 위치에 넣어 두 번째 작은 번호를 찾을.  
        에는 minIndex = I;

    대 (VAR의 I = 0; I는 <len- 1]. I ++) 
    { 

        위해 (VAR의 J = I + 1]. J <렌, J ++) 
        { 
            IF (ARR [J] <ARR [에는 minIndex]) 
            { 
                에는 minIndex = J; 
            } 
        } 

        TEMP는 = ARR [I]가, 
        ARR은 [I]는 = ARR [에는 minIndex] 
        ARR은 [에는 minIndex = TEMP는; 
    } 

    리턴 TEMP; 
} 

알고리즘 설명 // 삽입 정렬 (삽입 소트)는 간단한 분류 알고리즘 . 그것은 다시 전면에서 정렬 된 순서대로 정렬되지 않은 데이터를 스캔 정렬 시퀀스를 구성하여 작동하고, 해당 삽입 위치를 찾을 수 있습니다. 
3.1 알고리즘 설명 // 
// 일반적 삽입 정렬 현재 위치에서 어레이로 구현된다. 다음과 같이 알고리즘을 설명한다 
; // 정렬 된 것으로 간주 될 수있는 첫 번째 요소부터 
// 요소의 순서로 정렬 된 전방 스캔에서 다음 요소를 가져, 
소자는 (정렬 // 경우 )는 새로운 요소보다 큰 경우, 다음 위치에있는 요소; 
// 3 단계를 반복 요소의 새로운 위치로 정렬 된 요소보다 작거나 같은 찾을 때까지;
// 새로운 요소는 후방 위치에 삽입된다 
// 2-5 단계를 반복. 
= 함수 Algorithm.InsertionSort (ARR) 
{
    var에 LEN = arr.length; 

    VAR preIndex, 현재; 

    대 (VAR I = 1; i가 LEN <; 내가 ++) 
    { 
        preIndex = I-1; 

        현재의 도착 = [I]; 
        
        반면 (preIndex> 0 && 도착 [preIndex]> 전류) 
        { 
            도착 [preIndex + 1] = 도착 [preIndex]; 
            
            preIndex -; 
        } 

        [preIndex + 1] = 전류, 언; 
    } 

    편곡을 반환; 
}

  

추천

출처www.cnblogs.com/ms_senda/p/11401845.html