안녕하세요 저는 알고리즘에 익숙하지 않아이 간단한 비교를 위해 도움을 요청하고 있습니다. 그래서 크기가 N 인 2 개의 부호없는 int 배열이 있고 어느 것이 더 큰지 비교할 필요가 있습니다. 왼쪽 요소와 A [i]가 B [i]보다 큰 경우 A> B 배열을 비교하면 A [i + 1]과 B [i + 1]. 그럴만 한 방법은 다음과 같습니다.클리너 비교를 작성하는 방법
BOOL checkArray(int[] A, int[] B) {
for(i=0; i< N; i ++){
if (A[i] > B[i]) {
return TRUE;
}else if (A[i] == B[i]) {
continue;
} else { \\ A[i] < B[i]
return FALSE;
}
}
}
더 좋은 방법이 있는지 알려주십시오. 고마워요 !!!
나는 그것이 OK 생각 : 당신이 이제까지
내가 그런 식으로 그것을 구현하는 것이 필요한 경우도 정렬에 직접 사용할 수 있습니다 처럼. 그러나 for 루프의 끝에서 (모든 A [i]가 B [i]와 같을 때)'return (EQUAL) '이 필요합니다. –
원하는 결과에 따라 더 효율적인 방법이 없습니다. 알고리즘을 O (n) –
@ypercube로 만드는 인덱스로 인덱스를 비교해야 할 것입니다. FALSE가 아닌 EQUAL을 리턴 할 것임을 확신합니다. 물론 변수 i가 선언되었는지 확인해야합니다. int 어딘가에 ... – Jimmy