.n >= 1 개의 정수를 정확하게 정렬한다.
배열을 이용한 선택 정렬 알고리즘
.배열 정의 list[i] , 0 <= i < n
for ( i = 0 ; i < n ; i++)
{
for( min = i + 1 ; min < n ; min ++ )
{
list[ i ]보다 list [ min ]이 작다면
list[ i ]의 값과 list [ min ]의 값을 교환
}
}
배열을 이용한 이진 탐색 알고리즘
.배열 정의 list[i] , 0 <= i < n 인 정수
.찾을 데이터는 searchnum , 0 <= searchnum < n 인 정수
1) 선택 정렬을 실시한다.
2) 왼쪽 오른쪽 중간의 배열 인덱스를 설정한다.
left = 0
right = n-1
middle = ( left + right ) / 2
3) searchnum 과 list[middle] 을 비교한다.
4) 비교값이 searchnum > list[middle] 면
left = middle + 1
middle = ( left + right ) / 2
3) 을 반복한다.
5) 비교값이 searchnum < list[middle] 면
right = middle - 1
middle = ( left + right ) / 2
3) 을 반복한다.
6) 비교값이 searchnum = list[middle] 면
middle값을 리턴 하고 프로그램을 종료한다.
while(there are more integers to check)
{
middle = (left + right) / 2
if(searchnum > middle )
left = middle + 1;
else if(searchnum < middle )
right = middle -1;
else
return middle;
}