Q. 10개의 수치자료를 입력 받아 배열에 저장한 후 저장된 자료를 오름차순으로 정렬하는 순서도를 작성하시오.
1. 자료가 저장될 배열 A를 선언한다.
2. J는 1씩 누적되며 증가하는 변수이므로 J를 0으로 초기화한다.
3. 자료의 수를 세기 위해 1씩 더한다.
4. 입력받은 자료의 개수가 10보다 작거나 같으면 계속 입력 받는다.
1) Yes일 경우, 정렬할 숫자를 입력받는다. 그리고 3으로 간다.
2) No일 경우, 5로 간다.
5. 바깥쪽 반복문은 비교 KEY값의 위치를 지정한다. 반복변수 i가 2에서 10이 될때까지 1씩 증가하면서 반복한다.
1) 비교 기준값을 KEY에 치환한다. 삽입정렬에서는 회전수를 나타내는 숫자와 배열에서의 기준 값의 위치가 같다는 것을 생각한다.
2) 안쪽 반복문은 비교 대상이 있는 위치를 지정한다. 반복 변수 K가 i-1에서 1이 될때까지 -1씩 증가하면서 반복한다.
A. 비교 대상 A(K)가 비교 기준 값인 KEY보다 크면 값을 변경하고 아니면 기준값이 들어갈 위치를 찾은 것이다.
a. Yes일 경우, 자료를 삽입하기 위해 자료를 이동시킨다. 자료를 삽입할때는 현재위치의 자료를 바로 다음 위치로 이동시킨다. 그리고 반복문을 체크한다.
b. No일 경우, 반복문을 빠져나가서 3)로 간다.
3) 한 회전이 끝났으므로 그 회전에서의 기준 값이 들어갈 위치를 찾은 것이다. 기준값을 해당 위치에 삽입한다. 그리고 반복문을 체크한다.
6. 반복이 종료되면 배열 A를 출력하고 끝낸다.
해당 글은 제가 만든 어플을 기준으로 작성되었습니다.
더 많은 정보를 원하시면 알고리즘 어플을 다운받아보세요.
'Study > Algorithm_정보처리기사' 카테고리의 다른 글
[정보처리기사][알고리즘][자료구조] 석차구하기 - 바로출력 (0) | 2015.08.21 |
---|---|
[정보처리기사][알고리즘][자료구조] 석차구하기 - 배열이용 (0) | 2015.08.21 |
[정보처리기사][알고리즘][자료구조] 버블정렬3 (0) | 2015.08.21 |
[정보처리기사][알고리즘][자료구조] 버블정렬2 (0) | 2015.08.21 |
[정보처리기사][알고리즘][자료구조] 버블정렬 (0) | 2015.08.21 |
댓글