첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
#region 문자열 이진 탐색하기 - BinarySearch(sourceArray, search)

/// <summary>
/// 문자열 이진 탐색하기
/// </summary>
/// <param name="sourceArray">소스 배열</param>
/// <param name="search">탐색 문자열</param>
/// <returns>인덱스</returns>
public int BinarySearch(string[] sourceArray, string search)
{
    int firstIndex = 0;
    int lastIndex  = sourceArray.Length - 1;
    int middleIndex;

    while(firstIndex <= lastIndex)
    {
        middleIndex = (firstIndex + lastIndex) / 2;

        if(search.Equals(sourceArray[middleIndex]))
        {
            return middleIndex;
        }
        else
        {
            if(search.CompareTo(sourceArray[middleIndex]) < 0)
            {
                lastIndex = middleIndex - 1;
            }
            else
            {
                firstIndex = middleIndex + 1;
            }
        }
    }

    return -1;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요