์๋ ํ์ธ์. ์ฃผ์ธ์ฅ 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;
}
'์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] c++ sortํจ์๋ฅผ ํ์ฉํ ์ ๋ ฌ (0) | 2020.08.12 |
---|---|
[์๋ฃ๊ตฌ์กฐ] ๋ณํฉ์ ๋ ฌ merge sort (0) | 2020.08.06 |
[์๋ฃ๊ตฌ์กฐ] ํต์ ๋ ฌ Quick Sort (0) | 2020.08.04 |
[์๋ฃ๊ตฌ์กฐ] ๋ฒ๋ธ์ ๋ ฌ Bubble Sort (0) | 2020.08.04 |
Selection Sort ์ ํ์ ๋ ฌ (0) | 2020.08.04 |