정렬 알고리즘

1517 단어

버블 정렬 알고리즘



버블 정렬은 순서가 잘못된 경우 인접 요소를 반복적으로 교체하여 작동하는 가장 간단한 정렬 알고리즘입니다.

버블 정렬 구현




void bubbleSort(int arr[], int n)
{
    int i, j;
    for (i = 0; i < n-1; i++){
        for (j = 0; j < n-i-1; j++){
            if (arr[j] > arr[j+1])
                swap(&arr[j], &arr[j+1]);
        }      
    }    
}


삽입 정렬 알고리즘



삽입 정렬은 손에 있는 카드 놀이를 정렬하는 방식과 유사하게 작동하는 간단한 정렬 알고리즘입니다. 배열은 사실상 정렬된 부분과 정렬되지 않은 부분으로 나뉩니다. 정렬되지 않은 부분의 값이 선택되어 정렬된 부분의 올바른 위치에 배치됩니다.


연산

크기가 n인 배열을 오름차순으로 정렬하려면:
1: 배열에 대해 arr[1]에서 arr[n]까지 반복합니다.
2: 현재 요소(키)를 이전 요소와 비교합니다.
3: 키 요소가 이전 요소보다 작으면 이전 요소와 비교합니다. 더 큰 요소를 한 위치 위로 이동하여 교체된 요소를 위한 공간을 만듭니다.

삽입 정렬 알고리즘 구현




void insertionSort(int arr[], int n)
{
    int i, key, j;
    for (i = 1; i < n; i++)
    {
        key = arr[i];
        j = i - 1;
        while (j >= 0 && arr[j] > key)
        {
            arr[j + 1] = arr[j];
            j = j - 1;
        }
        arr[j + 1] = key;
    }
}




#참고 :- 나머지 알고리즘은 다음 블로그에서 이해할 것입니다.

좋은 웹페이지 즐겨찾기