ÅëÇÕ°Ë»ö

[¾Ë°í¸®Áò] ÄüÁ¤·Ä c ¼Ò½º

richeyes > ¹®¼­¹Ú½º > ±âº» Æú´õ | 2007/12/26 ±¸¸Å(2) ¤Ó Á¶È¸(80)
¹®¼­ ¿ä¾àÁ¤º¸
±¸¸ÅÀÚ Æò°¡
¹®¼­ »ó¼¼Á¤º¸
¸®Æ÷Æ® ½ºÅ©¸°  (1/1 screen)
¡Ø ÃÖ´ë 10ÆäÀÌÁö±îÁö ¸®Æ÷Æ® ½ºÅ©¸° À̹ÌÁö¸¦ »ý¼ºÇÕ´Ï´Ù.
¡Ø 5ÆäÀÌÁö ÀÌ»óÀÇ ÀÚ·áÀÎ °æ¿ì À̹ÌÁö¸¦ Ŭ¸¯ÇϽøé 2,4 ÆäÀÌÁö¿¡ ÇØ´çÇÏ´Â Å« À̹ÌÁö¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù
¼Ò°³±Û ¾Ë°í¸®Áò ÄüÁ¤·Ä Á¤È®ÇÑ ¼Ò½ºÀÔ´Ï´Ù. ÇϳëÀÌž ¿ø¸®µµ ÀÖÀ½. ÁÖ¼® ´Ù ´Þ¾Ò¾î¿ä

Çѱ۹®¼­·Î ¿­¸é Á¤È®È÷ ³ª¿È
¸ñÂ÷ 1. Äü(ºü¸¥Á¤·Ä) ¼Ò½º
2. ÇϳëÀÌ Å¾ (¸»·ÎÇ¥Çö) ¾Ë°í¸®Áò
º»¹®³»¿ë <ºü¸¥Á¤·Ä>

#include

void quicksort(int low, int high);
void partition(int low, int high, int *pivotpoint);
void print(); //¹è¿­ Ãâ·Â ÇÔ¼ö
int S[] = {15,22,13,27,12,10,20,25};
int SIZE = sizeof(S)/sizeof(int); //SIZE : ¾ÆÀÌÅÛ °³¼ö
int count=0; //¼öÇàȽ¼ö

void main()
{
printf ("===================n");
printf (" ºü¸¥Á¤·Ä ¾Ë°í¸®Áòn");
printf ("===================nn");

printf ("Á¤·Ä Àü : ");
print();
printf("n");

quicksort(0, SIZE-1); //Äü¼ÒÆ®ÇÔ¼ö

printf("n");
printf ("Á¤·Ä ÈÄ : ");
print();
}

void quicksort(int low, int high)
{
int pivotpoint=low; //±âÁØÁ¡=low°ª
if (count > 0)
{
printf("%2d¹ø : ", count); //¼öÇàȽ¼ö
print(); //¼ÒÆ®µÇ´Â°úÁ¤Ãâ·Â
}
count++;

if(high > low)
{
partition(low, high, &pivotpoint); //pivotpointÀÇ ÁÖ¼Ò°ªÀ» °¡Áö°í °¨
quicksort(low, pivotpoint-1); //ºÐÇÒÈÄ ¿ÞÂÊÁ¤·Ä.. Àç±ÍÀûÀ¸·Î
quicksort(pivotpoint+1, high); // ¡± ¿À¸¥ÂÊ Á¤·Ä ¡±
}
}
Âü°íÀÚ·á ¾Ë°í¸®Áò
Foundations of ALGORITHMS
µµ°æ±¹ ¿ª
Çб³Á¤º¸ 2ÁÖ°£ ´Ù¿î¹ÞÀº ÇлýÀÇ Çб³Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù.(5P ¼Ò¿ä)
ÀúÀÛ±Ç Á¤º¸ À§ Á¤º¸ ¹× °Ô½Ã¹° ³»¿ëÀÇ Áø½Ç¼º¿¡ ´ëÇÏ¿© ÇØÇÇÄ·ÆÛ½º´Â º¸ÁõÇÏÁö ¾Æ´ÏÇϸç, ÇØ´ç Á¤º¸ ¹× °Ô½Ã¹° ÀúÀ۱ǰú ±âŸ ¹ýÀû Ã¥ÀÓÀº ÀÚ·á µî·ÏÀÚ¿¡°Ô ÀÖ½À´Ï´Ù.
À§ Á¤º¸ ¹× °Ô½Ã¹° ³»¿ëÀÇ ºÒ¹ýÀû ÀÌ¿ë, ¹«´Ü ÀüÀ硤¹èÆ÷´Â ±ÝÁöµÇ¾î ÀÖ½À´Ï´Ù.ÀúÀÛ±ÇÄ§ÇØ, ¸í¿¹ÈÑ¼Õ µî ºÐÀï¿ä¼Ò ¹ß°ß½Ã °í°´¼¾ÅÍÀÇ ÀúÀÛ±ÇÄ§ÇØ ½Å°í¼¾Å͸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù.

±¸¸ÅÆò°¡(
0
)
±¸¸Å¹®ÀÇ(
0
)
Æ®·¢¹é(
0
)