본문 바로가기
Study/Algorithm_정보처리기사

[정보처리기사][알고리즘][자료구조] 버블정렬

by 푸민 2015. 8. 21.
반응형



Q. 배열에 기적된 10건의 자료를 오름차순으로 정렬하는 순서도를 작성하시오.


1. 자료가 저장될 배열 DATA를 선언한다.

 

2. N은 1식 누적되며 증가하는 변수이므로 N을 0으로 치기화한다.

 

3. 입력받은 자료의 개수를 세기 위해 1씩 증가시킨다.

 

4. 정렬할 숫자를 입력받는다.

 

5. 입력 받은 수의 개수(N)가 10보다 작으면 다음 값을 받기 위해 YES로 간다.

 

1) Yes일 경우, 3으로 간다.

 

2) No일 경우, 6으로 간다.

 

6. i는 1씩 누적되며 증가하는 변수이므로 i를 0으로 초기화한다.

 

7. 정렬회전 수를 1에서 9까지 변화시키기 위해 1씩 증가시킨다.

 

8. J는 1씩 누적되며 증가하는 변수이므로 J를 0으로 초기화한다.

 

9. 배열의 위치를 지정하는 변수이므로 J를 0으로 초기화한다.

 

10. 자료의 재소를 비교한다. 버블 정렬에는 항상 자기 자신을 그 다음 자료와 비교한다는 것을 생각한다.

 

1) No일 경우, 11로 간다.

 

2) Yes일 경우, K에 DATA(J)를 저장한다.

 

3) DATA(J)에 DATA(J+1)를 저장한다.

 

4) DATA(J+1)에 K를 저장하여 데이터를 교환해준다. 그리고 11로 간다.

 

11.  각 회전에서 비교할 횟수를 판단한다. 1회전이면 1회를 제외(10-1)하고, 2회전이면 2회를 제외(10-2), 즉 i회전이면 i회를 제외한다. 반복횟수를 세는 변수는 J이고, 회전수를 세는 변수는 i이다.

 

1) Yes일 경우, 9로 간다.

 

2) No 일경우, 12로 간다.

 

12. i가 9보다 작으면 다음 회전을 수행한다.

 

1) Yes일 경우, 7로 간다.

 

2) No일 경우, DATA배열에 들어있는 값을 출력하고 끝낸다.

 

해당 글은 제가 만든 어플을 기준으로 작성되었습니다.

더 자세한 자료는 알고리즘 어플을 참조해주세요.



반응형

댓글