[자료구조] inserting sort 문제 REVIEW (tistory.com)
[자료구조] inserting sort 문제 REVIEW
우선 구조체와 포인터를 선언해 준다. typedef struct record{ int key; char *name; int grade;}record;typedef record *point; record 구조체의 포인터 변수를 point로 두었다. 중요한 건 insert 함수 구현이니, main 함
with-mimi.tistory.com
위 포스팅에서 우리는 insert 함수를 통해 key 크기를 오름차순으로 한 sort를 수행하였다.
이번에는 sort 정렬도 하지 않은 상태에서, 곧바로 binary search를 통해 내가 원하는 index의 정보(근데 이제 오름차순으로 정렬된)를 얻어내려고 한다.
바로 binary search 함수를 보겠다.
int binarysearch(point x,point arr[10],int low,int high)
{
int middle=(low+high)/2;
int num=x->key;
if(arr[middle]->key<num)
{
binarysearch(x,arr,middle+1,high);
}
else if (arr[middle]->key>num)
{
binarysearch(x,arr,low,middle);
}
else if (arr[middle]->key==num)
{
return middle;
}
}
내가 찾으려는 정보의 구조체는 바로 포인터 x이다. low = 0, high = n-1 일 것이다. 위 코드를 통해 우리는 최종 우리가 원하는 index를 반환받을 수 있게 된다.