linearSearch ¼±Çü Ž»ö
int linearSearch(DATA *data, int nmem, int target);
typedef struct { int key; /* ºñ±³ÀÇ Å°°¡ µÇ´Â Çʵå */ int info; /* ±× ¿ÜÀÇ Çʵå */ } DATA; data (ÀÔ·Â) µ¥ÀÌÅÍ ·¹ÄÚµåÀÇ ¹è¿ nmem (ÀÔ·Â) ·¹ÄÚµå ¹è¿ÀÇ Å©±â target (ÀÔ·Â) Ž»ö ¸ñÇ¥·Î ÇÏ´Â Å°ÀÇ °ª
¹ß°ßµÇ¾úÀ» °æ¿ì´Â ¹è¿ÀÇ ¿ä¼Ò ¹øÈ£(¹è¿ÀÇ ¼±µÎ ¿ä¼ÒÀÇ ¹øÈ£´Â 0). ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â -1.
int linearSearch(DATA *data, int nmem, int target) { int i = nmem; if (i > 0) while (i--) if ((*data++). key == target) return nmem - (i + 1); return -1; }
º»¼±Çü Ž»öÀº ¼ø¼´ë·Î Ž»ö, ¼ø¼ Ž»öÀ̶ó°íµµ ÇÑ´Ù. ¹è¿ ¶Ç´Â ¸®½ºÆ®¿¡ ´Ã¾î³õÀ» ¼ö ÀÖ¾ú´Ù µ¥ÀÌÅ͸¦ ÇϳªÇϳª ¼ø¼¿¡ ±¸¼®À¸·ÎºÎÅÍ Á¶»çÇÒ »Ó(¸¸Å)ÀÇ ¼Ò¹ÚÇÑ Å½»ö¹ýÀÌ´Ù.
ºñ±³ÀÇ ·çÇÁ¸¦ µµ´Â ȸ¼ö´Â, Ž»öÀÌ ½ÇÆÐÀÇ °æ¿ì´Â nȸ, ¼º°øÀÇ °æ¿ì´Â Æò±Õ ÇØ n/2ȸ. ¾î·µç °è»ê·®Àº O(n)ÀÌ´Ù.