메커니즘
배열의 값 중 하나(보통은 0번 인덱스 값)를 변수 Max로 설정해놓고
if문을 사용하여 다음 인덱스 값을 변수 Max 값과 비교하면서 새로 대입하거나 넘어가는 방법
비교가 끝나면 변수Max를 출력함으로써 최댓값을 구할 수 있다.
인원 수 및 키를 입력한 후 자동으로 최장신을 찾아주는 프로그램을 최댓값 찾기 알고리즘을 이용하여 만들어 보았다.
CODE
#5~7 :스캐너 클래스를 이용하여 인원수(배열의 크기)를 입력받았다.
#9~12 :while문 에서 스캐너 클래스를 이용하여 각 인덱스의 값을 입력받았다.
# 14~22:변수 max에 초기 값인 0번 인덱스를 넣어주었고 값이 최대인 인인덱스넘버를 찾기 위한 변수 count를 선언해주었다. 그리고 while문 에서 각 인덱스 값과 max 를 비교하면서 만약 해당 인덱스 값이 max보다 크다면 max를 해당하는 인덱스 값으로 새로 선언해주고 count에 인덱스 넘버를 넣어주었다.
메커니즘
배열 요소 X 와 Y를 바꾸는 과정에서 배열 값 중간 저장 변수 T에 X값을 저장해주고
X=Y , Y=T 의 식을 사용한다.
T를 사용하지 않고 X=Y, Y=X를 해버리면 두 변수에 모두 Y값이 입력되기 때문에
중간 변수 T는 필수적이다.
교환의 횟수는 (배열 요소수/2)이다. 배열 요소가 홀수개 인 경우 나머지는 버리고 몫 만 취한다.
요소수가 홀수 이면 가운데 값은 위치를 바꾸지 않고 그대로 있기 때문이다.
배열의 요소수, 요소를 입력하고 각 교환마다 중간 결과를 출력하고 마지막에 역순으로 정렬된 배열을 출력해주는 프로그램을 만들어 보았다.
CODE
#6~9:배열의 요소수를 스캐너 클래스를 이용하여 입력받았다.
#11~14:while문 안에서 입력받은 값을 각 인덱스에 넣어주었다.
#18~27:중간 저장 변수 t를 선언하고 while문 에서 교환을 진행했다. 교환하는 두 값중 앞에 위치한 값을 변수 t에 넣어주었고 기존의 앞의 위치한 변수에는 뒤에 위치했던 변수의 값을 넣어주었다. 뒤에 위치한 변수에는 t의 값을 넣어줌으로써 교환을 마무리했다.