๋ฐ˜๊ฐ€์›Œ์š”! ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค!

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ˜„๋Œ€ ์—ฐ๊ธˆ์ˆ ์‚ฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๋‚€ ์ ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

์ž๋ฃŒ๊ตฌ์กฐ

Insertion Sort ์‚ฝ์ž…์ •๋ ฌ

mmin.h 2020. 8. 4. 10:31

์•ˆ๋…•ํ•˜์„ธ์š”. ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. 

์˜ค๋Š˜์€ ์‚ฝ์ž… ์ •๋ ฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฌด์งˆ์„œํ•œ 1~10 ์„ ์ •๋ ฌํ•œ๋‹ค๊ณ  ํ–ˆ์„๋•Œ, 

๊ฐ ์ˆซ์ž๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์— ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’‰๋‹ˆ๋‹ค. 

๋‹ค๋ฅธ ์ •๋ ฌ๊ณผ ๋น„๊ตํ•ด ๋ณธ๋‹ค๋ฉด ์‚ฝ์ž… ์ •๋ ฌ์€ ํ•„์š”ํ•  ๋•Œ๋งŒ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

์‚ฝ์ž… ์ •๋ ฌ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •๋ ฌ์ด ๋˜์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ • ํ–ˆ์„ ๋•Œ ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์†๋„๋ฅผ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. 

์†Œ์Šค ์ฝ”๋“œ ์ƒ ๋ฐ˜๋ณต๋ฌธ์ด ๋‘ ๋ฒˆ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N^2)์ž…๋‹ˆ๋‹ค.

 

#include <stdio.h>

int main(void)
{
	int arr[10] = { 1,3,2,5,7,6,10,9,8,4 };
	int i, j, tmp;
	for (i = 0; i < 9; i++)
	{
		j = i;
		while (j >= 0 && arr[j] > arr[j + 1]) {
			tmp = arr[j]; 
			arr[j] = arr[j + 1];
			arr[j + 1] = tmp;
			j--;
		}
	}
	for (i = 0; i < 10; i++) {
		printf("%2d", arr[i]);
	}
	return 0;
}