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;
}
ÀÌ¿ëÇÏ·Á¸é , µ¥ÀÌÅÍ ±¸Á¶¸¦ ½ÇÁ¦ÀÇ ¹®Á¦¿¡ ¸ÂÃß¾î ¼öÁ¤ÇÒ Çʿ䰡 ÀÖ´Ù.