학습장/Algorithm

1. 3. 2. 1차원 배열의 자료 오름차순으로 정렬하기 순서도.

Shin Jaehyun 2018. 4. 21. 03:34
2018년 정보처리기사 실기 응용 알고리즘 실무 문제 정리 마지막입니다. 

JAVA로 입력되어있는 1차원 배열 의 정렬하기 였습니다. 

아직 순서도를 그릴때 어떤 방법이 좋을까.. 생각을 하다가 책의 양식을 일단 따라가보기로 했고요. 굳이 다 따라가고 싶지는 않은데, 또 나중에 바뀔겁니다. 
손으로 먼저 그리고, 디버깅을 하고 그리는 것과 그냥 프로그램으로 하나하나 그리는거랑 차이가 좀 있고.. 그럼에도 일부러 익숙해지도록 사용중입니다.

순서도는 VISIO로 그리고 있습니다. 

시험에서는 노란색 상자로 감싼 부분없이, 배열을 이미 입력받은 상태에서 진행을 했고요, 기왕 하는거 입력받아서 정리를 할 수 있게끔 해보자.ㅡ_ㅡ; 라고 생각해서 굳이 넣었습니다. 
교재에서는 배열의 순서도를 다룰때 항상 '1에서 10까지' 라고 하는데, 시험에서도 마찬가지였습니다. java나 c의 경우 배열에 0부터 시작하니까, 이거 두개가 한꺼번에 나오면 봐두시면 좋을 것 같고요. 
정렬의 방식은 버블정렬입니다.

Array[10]     배열
cntA            배열의 자료를 세기위한 변수
rotN             회전 수
ordN            배열 내에서의 첨자, 순서정렬할 때 사용되는 수입니다. 

지난번처럼 for문 돌려서 배열을 출력하는 걸 그리려다가, 그냥 대세에 따랐습니다. (그리고 있는데 페이지가 넘어가길래, 그냥 불편했어요.)




아직은 문제의 난이도가 크게 올라가지 않은건지.. 보통 배열의 숫자를 비교해서 바꾸는 중감부분, 그리고 배열의 첨자로 쓰이는 수와 배열크기 - 회전수 가 종종 보였던 기억이 있습니다.