selectSort ¼±Åùý¿¡ µû¸£´Â ¼ÒÆ®
void selectSort(DATA *data, int nmem, int asdes);
typedef struct { int key; /* ºñ±³ÀÇ Å°°¡ µÇ´Â Çʵå */ int info; /* ±× ¿ÜÀÇ Çʵå */ } DATA; data (ÀÔÃâ·Â) µ¥ÀÌÅÍ ·¹ÄÚµåÀÇ ¹è¿ nmem (ÀÔ·Â) ·¹ÄÚµå ¹è¿ÀÇ Å©±â asdes (ÀÔ·Â) ½Â¼ø¡¤³»¸²Â÷¼øº°,0:½Â¼ø, 1:³»¸²Â÷¼ø
¾øÀ½
void selectSort(DATA *data, int nmem, int asdes){ int i, j, k; static void swap(); for (i = 0; i < nmem - 1; i++) { k = i; for (j = i + 1; j < nmem; j++) if (asdes == 0) { if (data[j]. key < data[k]. key) k = j; } else { if (data[j]. key > data[k]. key) k = j; } if (k ! = i)
swap(&data[k], &data[i]); } } static void swap(DATA *a, DATA *b){ DATA t; t.key = a->key; t.info = a->info; a->key = b->key; a->info = b->info; b->key = t.key; b->info = t.info; }
ÀÌ¿ëÇÏ·Á¸é , µ¥ÀÌÅÍ ±¸Á¶¸¦ ½ÇÁ¦ÀÇ ¹®Á¦¿¡ ¸ÂÃß¾î ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.