[Baekjoon] Class2 17 - 최대공약수와 최소공배수 [2751]
수 정렬하기 2 [2751번]
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
생각해볼점
퀵 정렬을 사용했다.
코드 구현
#include <stdio.h>
#include <stdlib.h>
static int compare(const void *a, const void *b)
{
if (*(int *)a < *(int *)b)
return (-1);
else if (*(int *)a > *(int *)b)
return (1);
return (0);
}
int main()
{
int num, *num_arr, idx = 0;
scanf("%d", &num);
num_arr = (int *)malloc(num * sizeof(int));
while (idx < num)
scanf("%d", &num_arr[idx++]);
qsort(num_arr, num, sizeof(int), compare);
idx = 0;
while (idx < num)
printf("%d\n", num_arr[idx++]);
free(num_arr);
return (0);
}