데이터 구조 (4) - 이분 찾기

3268 단어 데이터 구조
원본 코드:
#include <iostream>

#include <string>

using namespace std;



typedef struct _Table

{

    int data[100];

    int length;

}Table;

int BinarySearch(Table a, int k)

{

    int left = 0;

    int right = a.length - 1;

    while (left <= right)

    {

        int mid = (left + right) / 2;

        if (k < a.data[mid])

        {

            right = mid - 1;

        }

        else if (k > a.data[mid])

        {

            left = mid + 1;

        }

        else

        {

            return mid;

        }

    }

    return -1;

}



int main()

{

    Table b = { {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }, 12 };

    cout << BinarySearch(b, 2) << endl;

    system("pause");

    return 0;

}

좋은 웹페이지 즐겨찾기