insertSort »ðÀÔ¹ý¿¡ µû¸£´Â ¼ÒÆ®
void insertSort(DATA *data, int nmem, int asdes);
typedef struct {
int key; /* ºñ±³ÀÇ Å°°¡ µÇ´Â Çʵå */
int info; /* ±× ¿ÜÀÇ Çʵå */
} DATA;
data (ÀÔÃâ·Â) µ¥ÀÌÅÍ ·¹ÄÚµåÀÇ ¹è¿
nmem (ÀÔ·Â) ·¹ÄÚµå ¹è¿ÀÇ Å©±â
asdes (ÀÔ·Â) ½Â¼ø¡¤³»¸²Â÷¼øº°,0:½Â¼ø, 1:³»¸²Â÷¼ø
¾øÀ½
void insertSort(DATA *data, int nmem, int asdes)
{
int i, j, k;
DATA t;
for (i = 1; i < nmem; i++) {
t.key = data[i]. key;
t.info = data[i]. info;
for (j = i - 1; j >= 0; j--)
if (asdes == 0) {
if (data[j]. key > t.key) {
data[j+1]. key = data[j]. key;
data[j+1]. info = data[j]. info;
} else break;
} else {
if (data[j]. key < t.key) {
data[j+1]. key = data[j]. key;
data[j+1]. info = data[j]. info;
} else break;
}
data[j+1]. key = t.key;
data[j+1]. info = t.info;
}
}
»ðÀÔ ¼ÒÆ®´Â Àΰ£ÀÇ ÀÚÁÖ(Àß) ÇÏ´Â ¼ÒÆ®¹ýÀ̸ç, ºê¸´Áö¿¡¼ Ä«µå¸¦ ´Ã¾î³õ°í ¶§¿¡µµ ÀÚÁÖ(Àß) »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.
º»ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ·Á¸é , µ¥ÀÌÅÍ ±¸Á¶¸¦ ½ÇÁ¦ÀÇ ¹®Á¦¿¡ ¸ÂÃß¾î ¼öÁ¤ÇÑ´Ù Çʿ䰡 ÀÖ´Ù.