Engineering Note

투포인터 알고리즘 정렬된 두 배열을 정렬하면서 합치기 본문

Computer Science/Data Structure & Algorithm

투포인터 알고리즘 정렬된 두 배열을 정렬하면서 합치기

Software Engineer Kim 2021. 4. 21. 16:30
#include <stdio.h>
int main() {
    freopen("input.txt", "rt", stdin);
    int n, m;
    int fArray[100] = { 0, };
    int sArray[100] = { 0, };
    int Array[200] = { 0, };
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", &fArray[i]);
    }
    scanf("%d", &m);
    for (int i = 0; i < m; ++i) {
        scanf("%d", &sArray[i]);
    }
    int i, j, k = 0;

    i = j = k = 0;
    while (i < n && j < m) {
        if (fArray[i] < sArray[j])
            Array[k++] = fArray[i++];
        else
            Array[k++] = sArray[j++];
    }

    while (i < n) {
        Array[k++] = fArray[i++];
    }

    while (j < m) {
        Array[k++] = sArray[j++];
    }

    for (int i = 0; i < k; ++i) {
        printf("%d ", Array[i]);
    }

    return 0;
}

'Computer Science > Data Structure & Algorithm' 카테고리의 다른 글

알고리즘 설명 사이트  (0) 2021.04.30
Merge Sort  (0) 2021.04.21
Dijkstra Algorithm  (0) 2021.04.15
최단경로 알고리즘  (0) 2021.04.15
Graph  (0) 2021.04.13
Comments