์๋ ํ์ธ์ ์ฃผ์ธ์ฅ H์ ๋๋ค.
์ค๋์ ๋ฒ๋ธ์ ๋ ฌ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
๋ฒ๋ธ ์ ๋ ฌ์ 1~10๊น์ง์ ๋ฌด์ง์ํ ์ซ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค๋ผ๊ณ ํ ๋,
์์ ๋ณด๋ค ํฐ ์๊ฐ ์ผ์ชฝ์ ์๋ค๋ฉด ์๋ฆฌ๋ฅผ ์๋ก ๋ฐ๊พธ๋ฉด ์ด๋จ๊น?๋ ์์ด๋์ด์์ ์์ํฉ๋๋ค.
๋ฒ๋ธ ์ ๋ ฌ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ค์์ ๊ฐ์ฅ ์ฝ์ง๋ง ๊ฐ์ฅ ๋นํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ ๋๋ค.
์ด ๊ณผ์ ์์ ๊ฐ ์ธ์ดํด๋ง๋ค ๊ฐ์ฅ ํฐ ๊ฐ์ด ๋งจ ๋ค๋ก ๋ณด๋ด์ง๊ฒ ๋ฉ๋๋ค. ์ปดํจํฐ ๋ด๋ถ์ ์ธ ์ฐ์ฐ์ด ๊ฐ์ฅ ๋นํจ์จ์ ์ผ๋ก
์ผ์ด๋๊ฒ ๋์ด ์ค์ ์ํ์๊ฐ์ด ๊ฐ์ฅ ๋๋ฆฐ ์ ์ข์ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
์๊ฐ๋ณต์ก๋๋ ์ ํ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ๊ณผ ๋์ผํ O(N^2)์ ๋๋ค.
#include <stdio.h>
int main(void) {
int i, j, temp;
int arr[10] = { 1,3,2,5,7,6,10,9,8,4 };
for (i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%3d", arr[i]);
}
return 0;
}
'์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] c++ sortํจ์๋ฅผ ํ์ฉํ ์ ๋ ฌ (0) | 2020.08.12 |
---|---|
[์๋ฃ๊ตฌ์กฐ] ๋ณํฉ์ ๋ ฌ merge sort (0) | 2020.08.06 |
[์๋ฃ๊ตฌ์กฐ] ํต์ ๋ ฌ Quick Sort (0) | 2020.08.04 |
Insertion Sort ์ฝ์ ์ ๋ ฌ (0) | 2020.08.04 |
Selection Sort ์ ํ์ ๋ ฌ (0) | 2020.08.04 |