์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜

[c++] [์„ ํƒ ์ •๋ ฌ] ํ™œ์šฉํ•ด์„œ ๋ฐฐ์—ด ์† ์ˆซ์ž๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

Rainbow๐ŸŒˆCoder 2021. 9. 20. 20:26
728x90

์„ ํƒ ์ •๋ ฌ

 

 

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


 

728x90