카테고리 없음

[자료구조] binary search + inserting sort 문제 REVIEW

미 성 2024. 6. 12. 23:00

[자료구조] 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를 반환받을 수 있게 된다.