(2) ¼±Åà Á¤·Ä¹ý(Selection Sorting)

 ¾ÕÀÇ ¸®½ºÆ® 5ÀÇ Á¤·Ä¹ýÀ» °¡¸¸È÷ °üÂûÇØ º¸¸é °£´ÜÇÑ ¹æ¹ýÀ¸·Î ¼öÇà ¼Óµµ¸¦ Çâ»ó½Ãų ¼ö ÀÖ´Â °Í
À» ¾Ë ¼ö ÀÖ´Ù. ¹æ¹ýÀ» Àбâ Àü¿¡ Àá½Ã¸¸  ¿©·¯ºÐ ½º½º·Î »ý°¢À» ÇØº¸±â ¹Ù¶õ´Ù. ¾à°£ÀÇ ÈùÆ®¸¦ ÁØ
´Ù¸é, ¹Ýº¹Çؼ­ ¼öÇàµÇ´Â ºÎºÐÀ» ÁÖÀÇÇØ¼­ »ìÆìº¸¶ó.

 ¸®½ºÆ® 5ÀÇ ¿¹¸¦ °¡¸¸È÷ »ìÆìº¸¸é, ¿·ÀÇ °ª°ú  ºñ±³ ÈÄ¿¡ ¹Ù·Î¹Ù·Î °ªÀ» ±³È¯ÇÏ´Â °ÍÀ»  ¾Ë ¼ö°¡
ÀÖ´Ù. ÀÌ·¸°Ô ¹Ù·Î ±³È¯ÇÏ´Â ¹æ¹ýÀº ±³È¯ Ƚ¼ö¸¦ »ó´çÈ÷ ¸¹°Ô ¸¸µç´Ù. ÇѹøÀÇ ±³È¯À» Çϱâ À§Çؼ­
´Â 3¹øÀÇ Ä¡È¯¹®ÀÌ »ç¿ëµÈ´Ù. À̰ÍÀ» ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù¾î º¸¸é ¾î¶³±î?

 ¸®½ºÆ® 6ÀÇ ¹æ¹ýÀº ¾ÕÀÇ ´Ü¼ø Á¤·Ä¹ý°ú´Â ´Þ¸® ÀÏ´Ü Á¤·ÄµÇÁö ¾Ê´Â °ªµé Áß¿¡ °¡Àå Å« °ªÀÌ ÀÖ´Â
À§Ä¡¸¦ ¾Ë¾Æ³½ ÈÄ ÇÑ ¹øÀÇ ±³È¯¿¡ ÀÇÇØ ±× °ªÀÌ Á¤·ÄµÇÁö  ¾Ê´Â °ªÀÇ ¸Ç µÚ·Î ¿Å°ÜÁö°Ô µÈ´Ù. ÀÌ ¹æ
¹ýÀº ÀÚ·áÀÇ ±³È¯ Ƚ¼ö¸¦ ¾ÕÀÇ ¹æ¹ýº¸´Ù »ó´çÈ÷ °¨¼Ò½ÃŲ´Ù. µû¶ó¼­ ±³È¯ÇØ¾ß ÇÒ ÀÚ·áÀÇ Å©±â°¡
Ŭ¼ö·Ï È¿°ú´Âºñ·ÊÇØ¼­ Áõ°¡ÇÏ°Ô µÈ´Ù.

(¸®½ºÆ® 6) ¼±Åà Á¤·Ä¹ýÀ» »ç¿ëÇÑ ¿¹
void Select_Sort(int *a,int last_item)
{
        int loop1,loop2;
        int temp;
        int max_item;
        for (loop1=0;loop1<last_item;loop1++)
        {
                max_item=0;
                for (loop2=0;loop2<(last_item-loop1);loop2++)
                {
                        if (a[max_item]<a[loop2+1])
                                max_item=loop2+1;
                        temp=a[max_item];
                        a[max_item]=a[max_item-loop1];
                        a[last_item-loop1]=temp;
                }
        }
}