본문 바로가기
백준(C언어)/22년 9월

9월 10일(토) - 정렬(2750번)

by C0MPAS 2022. 9. 10.

정렬 - 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;
}

댓글