[출처 : http://inthechaos.tistory.com/entry/탐색-Searchh-Searchc]


Search.h

//선언
int linearSearch(int *array, int size, int value);
int linearSearchSort(int *array, int size, int value);
int binarySearch(int *array, int size, int value);





Search.c

#pragma warning(disable:4996)
#include <stdio.h>
int linearSearch(int *array, int size, int value) { int i; for(i=0; i<size; i++) { if(array[i] == value) { printf("횟수 : 성공[%d번]\n", i); return i; } } printf("횟수 : 실패[%d번]\n", i); return -1; } int linearSearchSort(int *array, int size, int value) { int i; for(i=0; i<size; i++) { if(array[i] >= value) { if(array[i] == value) { printf("횟수 : 성공[%d번]\n", i); return i; } else { break; } } } printf("횟수 : 실패[%d번]\n", i); return -1; } int binarySearch(int *array, int size, int value) { int i, left, right, middle; left = 0, right = size-1; for(i=0; left<=right; i++) { middle = (left+right) / 2; if(array[middle] == value) { printf("횟수 : 성공[%d번]\n", i); return middle; } if(array[middle] < value) { left = middle+1; } else { right = middle-1; } } printf("횟수 : 실패[%d번]\n", i); return -1; }

+ Recent posts