반응형
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1245&sca=99&sfl=wr_hit&stx=1972
#include <stdio.h>
int ar[100010], ans[100010], N, C;
void mergesort(int* pArr, int s, int e)
{
if (s >= e) return;
int m = (s + e) / 2;
mergesort(pArr, s, m);
mergesort(pArr, m + 1, e);
int i = s, j = m + 1, k = s;
while (i <= m && j <= e) {
if (C)
if (pArr[i] >= pArr[j]) ans[k++] = pArr[i++];
else ans[k++] = pArr[j++];
else
if (pArr[i] <= pArr[j]) ans[k++] = pArr[i++];
else ans[k++] = pArr[j++];
}
while (i <= m) ans[k++] = pArr[i++];
while (j <= e) ans[k++] = pArr[j++];
for (i = s; i <= e; i++) pArr[i] = ans[i];
}
int main(void)
{
scanf("%d", &N);
scanf(" %d", &C);
for (int i = 0; i < N; i++) scanf(" %d", ar + i);
mergesort(ar, 0, N - 1);
for (int i = 0; i < N; i++) printf("%d\n", ans[i]);
return 0;
}
반응형
'프로그래밍 알고리즘' 카테고리의 다른 글
[정올 2194] 요플레공장 (1) | 2023.01.07 |
---|---|
[정올 2082] 힙정렬2 (Heap_Sort) (0) | 2023.01.07 |
[정올 1912] 미로 탐색 (0) | 2023.01.06 |
[정올 1901] 소수 구하기 (0) | 2023.01.06 |
[정올 1885] 접두사 (1) | 2023.01.06 |