PTA | 01 - 복잡 도 3 2 분 찾기 (20 분) 2 분 찾기
함수 인터페이스 정의:
Position BinarySearch( List L, ElementType X );
그 중에서 List 구 조 는 다음 과 같다.
typedef int Position;
typedef struct LNode *List;
struct LNode {
ElementType Data[MAXSIZE];
Position Last; /* */
};
L 은 사용자 가 들 어 오 는 선형 표 입 니 다. 그 중에서 Element Type 요 소 는 >, =,
심판 테스트 프로그램 샘플:
#include
#include
#define MAXSIZE 10
#define NotFound 0
typedef int ElementType;
typedef int Position;
typedef struct LNode *List;
struct LNode {
ElementType Data[MAXSIZE];
Position Last; /* */
};
List ReadInput(); /* , 。 1 */
Position BinarySearch( List L, ElementType X );
int main()
{
List L;
ElementType X;
Position P;
L = ReadInput();
scanf("%d", &X);
P = BinarySearch( L, X );
printf("%d
", P);
return 0;
}
/* */
입력 샘플 1:
5
12 31 55 89 101
31
출력 예시 1:
2
입력 샘플 2:
3
26 78 233
31
출력 예시 2:
0
코드 구현
Position BinarySearch( List S, ElementType K )
{
int left=1;
int right=S->Last;
if(S==NULL)
return NotFound;
while (left <= right) {
int mid = (left + right) / 2;
if(S->Data[mid]==K)
return mid;
else if(S->Data[mid]>K)
right=mid-1;
else
left=mid+1;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.