백준(C언어)/22년 9월
9월 10일(토) - 정렬(2750번)
C0MPAS
2022. 9. 10. 23:22
정렬 - 2750번
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
문제점
x
(다만 1학기때 배웠던 자료구조에서의 여러 정렬들에 대한 복습의 필요성을 느낌)
풀이
(버블정렬을 활용하여 풀이 / 삽입정렬을 활용한 풀이도 가능한 것으로 보임 - 추후 풀이 필요)
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
#include <stdlib.h>
#define SWAP(x,y,t) ( (t)=(x), (x)=(y), (y)=(t) )
int list[1000];
void bubble_sort(int list[], int n)
{
int i, j, tmp;
for (int i = n - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (list[j] > list[j + 1])
{
SWAP(list[j], list[j + 1], tmp);
}
}
}
}
int main(void)
{
int i;
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &list[i]);
}
bubble_sort(list, n);
for (int i = 0; i < n; i++)
{
printf("%d\n", list[i]);
}
return 0;
}