ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 병합정렬
    코딩/C언어 2019. 9. 17. 17:43
    반응형
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    #include <stdio.h>
    #include <stdlib.h>
    void printArr(int *a, int start, int end)
    {
        int i;
     
        for (i = start; i <= end; i++)
            printf("%3d", a[i]);
        printf("\n");
    }
    void merge(int* a, int start, int mid, int end)
    {
        int index1 = start, index2 = mid + 1, index3 = start, i;
        int* tmp;
     
        tmp = (int*)malloc(sizeof(int* (end + 1));
     
        while (index1 <= mid && index2 <= end)
        {
            if (a[index1] <= a[index2])
            {
                tmp[index3] = a[index1];
                index1++;
            }
            else
            {
                tmp[index3] = a[index2];
                index2++;
            }
     
            index3++;
        }
     
        while (index1 <= mid)
            tmp[index3++= a[index1++];
        while (index2 <= end)
            tmp[index3++= a[index2++];
     
        for (i = start; i <= end; i++)
            a[i] = tmp[i];
    }
    void mergeSort(int* a, int start, int end)
    {
        int mid;
     
        if (start < end) {
            mid = (start + end/ 2;
     
            mergeSort(a, start, mid);
            mergeSort(a, mid + 1end);
     
            merge(a, start, mid, end);
            printArr(a, start, end);
        }
    }
    int main(void)
    {
        int a[] = { 1050692740725921964 };
        int i;
     
        mergeSort(a, 09);
     
        printArr(a, 09);
    }
    cs

     

    결과:

     

    반응형

    '코딩 > C언어' 카테고리의 다른 글

    암호화(시저암호)  (0) 2019.09.17
    퀵정렬  (0) 2019.09.17
    삽입정렬  (0) 2019.09.17
    버블정렬  (0) 2019.09.17
    선택정렬  (0) 2019.09.17
Designed by Tistory.