์ ํ ์ ๋ ฌ
2 6 4 9 8 1 3 5 7 ๋ผ๋ ์ซ์๋ฅผ ์ ํ ์ ๋ ฌ์ ํ์ฉํด ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ ์ผ ์ ์ซ์๋ฅผ 0๋ฒ์งธ ์ธ๋ฑ์ค, ๋ง์ง๋ง ์ซ์๋ฅผ 8๋ฒ์งธ ์ธ๋ฑ์ค๋ผ๊ณ ๊ฐ์ ์ ํ๋ค๋ฉด,
2 6 4 9 8 1 3 5 7 //0๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (1๋ฐ๊ฒฌ)
1 2 6 4 9 8 3 5 7 //(1์ ์ ์ผ ์์ผ๋ก)
1 2 6 4 9 8 3 5 7 //1๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (2๋ฐ๊ฒฌ, ๊ทธ๋๋ก)
1 2 6 4 9 8 3 5 7 //2๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (3๋ฐ๊ฒฌ)
1 2 3 6 4 9 8 5 7 //(3์ ์์ผ๋ก)
1 2 3 6 4 9 8 5 7 //3๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (4๋ฐ๊ฒฌ)
1 2 3 4 6 9 8 5 7 //(4๋ฅผ ์์ผ๋ก)
1 2 3 4 6 9 8 5 7 //4๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (5๋ฐ๊ฒฌ)
1 2 3 4 5 6 9 8 7 //(5๋ฅผ ์์ผ๋ก)
1 2 3 4 5 6 9 8 7 //5๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (6๋ฐ๊ฒฌ, ๊ทธ๋๋ก)
1 2 3 4 5 6 9 8 7 //6๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (7๋ฐ๊ฒฌ)
1 2 3 4 5 6 7 9 8 //(7๋ฅผ ์์ผ๋ก)
1 2 3 4 5 6 7 9 8 //7๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (8๋ฐ๊ฒฌ)
1 2 3 4 5 6 7 8 9 //(8๋ฅผ ์์ผ๋ก)
1 2 3 4 5 6 7 8 9 //8๋ฒ์งธ ์ธํ ์ค๋ถํฐ ๋๊น์ง ํ์ธํ๊ณ (9๋ฐ๊ฒฌ, ๊ทธ๋๋ก)
์ ํ์ ๋ ฌ์ ์์ ๊ฐ์ด ๊ฐ์ฅ ์์ ๊ฒ์ ์ฐพ๊ณ ์์ผ๋ก ๋ณด๋ด๊ณ
์์ค์ ์ ์ธํ๊ณ ๋ ๊ฐ์ฅ ์์ ๊ฒ์ ์ฐพ๊ณ ์์ผ๋ก ๋ณด๋ด๋ ๋ฐฉ์์ ๋ฐ๋ณต์ด๋ค.
์๋๋ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ ์ฝ๋์ด๋ค.
#include <iostream>
using namespace std;
int main()
{
int arr[10] = { 34,65,3,5,7,231,45,6,8,33 };
int min, index, temp;
for (int i = 0; i < 10; i++)
{
min = INT_MAX;
for (int j = i; j < 10; j++) //์์ ์๋ for๋ฌธ์ด ํต์ฌ์ด๋ค. i๋ฒ์งธ ์ธ๋ฑ์ค ์ดํ ๋ชจ๋ ๋ฐฐ์ด์ ๊ฒํ ํ๊ฒ ๋๋ค.
{
if (min >= arr[j])
{
min = arr[j]; //๊ฐ์ฅ ์์ ๊ฐ์ด ์๋ ๋ฐฐ์ด ์ธ๋ฑ์ค์ ๋ค์ด์๋ ๊ฐ์ min์ ํ์คํ ๊ธฐ๋กํด๋๋ค.
index = j; //๊ฐ์ฅ ์์ ๊ฐ์ด ๋ด๊ฒจ์๋ค๊ณ ํ๋จํ ๋ฐฐ์ด์ ์ธ๋ฑ์ค ์๋ฒ ์ญ์ ๋ฐ๋ก index ๋ณ์์ ๊ธฐ๋กํด๋๋ค.
} //์์ค์ ์ด์ : j๋ ๊ณ์ ์ฆ๊ฐํ๋ฏ๋ก i๋ฒ์งธ ์ธ๋ฑ์ค์ ๋ฐ๊ฟ ๋ ์จ๋จน์ ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
}
temp = arr[i]; //์์ ์๋ for๋ฌธ์ด ๋ค ๋๋๋ฉด
//i๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ฅ ์์ ๊ฐ์ด ๋ด๊ธด ์ธ๋ฑ์ค ๊ฐ์ ๋ฐ๊พผ๋ค.(์์์ ๊ธฐ๋กํด๋ ์ ๋ณด๋ค์ ์ด์ฉํ์ฌ)
arr[i] = arr[index];
arr[index] = temp;
}
for (int k = 0; k < 10; k++)
{
cout << arr[k]<<' ';
}
return 0;
}
'์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ์ฝ์ ์ ๋ ฌ (0) | 2021.09.21 |
---|---|
[c++] ๋ฒ๋ธ์ ๋ ฌ (0) | 2021.09.21 |
c++ ๋ฐฐ์ด ์ค๋ฆ์ฐจ์ ๋ด๋ฆผ์ฐจ์ ๊ตฌํ (0) | 2021.09.20 |
2. [c++] ํน์ ๊ฐ ์ดํ์ ์ ์ค์์ ๊ฐ์ฅ ํฐ 2์ ๊ฑฐ๋ญ์ ๊ณฑ๋ง ๋ฐํํ๋ ํจ์๋ง๋ค๊ธฐ (0) | 2021.09.18 |
๊น์ด ์ฐ์ ํ์(DFS, Depth First Search), ๋๋น ์ฐ์ ํ์(BFS, Breadth First Search)) (0) | 2021.05.16 |