// (2021.1.27, 차재복, Cha Jae Bok, http://www.ktword.co.kr)
// 검색(선형,이진) 입출력 (무작위 숫자 생성, ...)
function showSearchAlgorithm(that) {
// 입력 키 확인 및 입력 값 추출
if(that.nodeName=='INPUT' && window.event.keyCode != 13) return;
let n = ( that.nodeName=='INPUT' ? that.value : that.previousElementSibling.value );
// 정수 변환
n = Number.parseInt(n);
// 검증
if(!Number.isInteger(n) || n < 2) { alert('정수 (1<n<100) 입력'); return; }
let outText = '입력 정수 : '+n+'\n';
// 검색 샘플용 무작위 숫자 : (0 ~ 100) 사이에서 20개 생성
let array = [];
for (let i = 0; i < 20; ++i) {
array[i] = Math.floor(Math.random() * 101);
}
outText += '대상 배열 : ';
for(index in array) outText += array[index] + ' ';
// 선형검색 호출 및 출력
let findIdx = linearSearch(array,n);
outText += '\n(선형검색) ';
if (findIdx) outText += '찾은 정수 : '+array[findIdx]+' ('+(findIdx+1)+'번째)';
else outText += '못찾음!';
alert(outText);
}
// 선형 검색
function linearSearch(array, n) {
for(let i=0; i<array.length; i++) {
if (array[i]==n) return i;
}
return false;
}
// 이진 검색
function binarySearch(array, n) {
// ... 작성중 ...
return -1;
}
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"