www.gisa79.com
17 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 정렬 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 선택 정렬 (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort) (Selection Sort)
선택 정렬
1.
명의 학생 성적을 입력받아 배열에 저장한 후 저장된 자료를 오름차순으로 정렬하는 순서도 5
를 작성하시오
알고리즘에 사용되는 변수는 다음과 같다.
▸
정렬할 숫자가 저장될 배열 - A(5):
- i: 인덱스 변수 인덱스 변수 - J:
자료 교환에 필요한 임시 변수 - TEMP:
분 석
개의 입력 중 최소값을 찾아 첫 번째 위치에 놓고
n data ,
▸
나머지 (n-1)개의 입력 data 중에서 최소값을 찾아
두 번째 위치에 놓는 방식을 반복하는 정렬 방식 오름차순( )
앞에서부터 정렬됨
▸
www.gisa79.com
알고리즘 작성
※ 오름차순 정렬 조건 :
A(i)>A(J)
내림차순 정렬 조건 :A(i)<A(J)
※ 변수 A와 변수 B를 맞바꾸는 과정 추가로 변수가 한 개 더 필요함
( )
TEMP =
A
(A값을 임시변수에 넣고)A
=B
(B값을 A에 넣고)B
= TEMP 임시변수 값을( B에 넣음)디 버 깅
명의 점수 를 입력받아 디버깅해서 정확성을 검증합니다
4 (100, 70, 90, 80) .
이 때 배열은 A(4)로 반복문은, i = 1, 3 과 J = i + 1, 4 로 수정해서 디버깅합니다.
디버깅 결과와 여러분이 직접 구한 결과(70, 80, 90, 100)가 같으면 됩니다. 100 70 90 80
A(1) A(2) A(3) A(4)
i J A(i) > A(J) TEMP A(i) A(J) 출 력
문 제
개의 를 입력받아 를
N DATA Selection Sort 이용하여 오름차순으로 정렬한 후 출력하는, 알고리즘이다 제시된 처리조건을 참조하여. 다음 각문제의 괄호 안 내용에 가장 적합한 항목을 <답항 보기 에서 한 가지만 선택하시오> .
개의 자료가 배열에 READ A(i), i = 1, N : N A
⇨
첫 번째 원소부터 N번째 원소까지 차례로 입력 됨을 나타낸다.
알고리즘에 사용되는 변수 등은 다음과 같다.
⇨
개의 가 입력될 배열 변수 A(N) : N DATA
․
을 위한 임시 변수 T : SWAP
․
인덱스 변수 i :
․
인덱스 변수 j :
․
A(j) =
( ⑤ )
T =( ③ )
( ④ )
A(i) <= A(j) YES READ A(i), i=1, N
Start
A(N)
순환구조 i = 1,
( ① )
순환구조
( ② )
Print A(i)
STOP
순환구조
( ⑥ )
NO
답항 보기
1 i+1 2 N-2 3 N-J 4 N-i 5 N-1
6 i = 2, N 7 i = j, N 8 i = j+1, N 9 i = j-1,N 10 i = 1, N 11 j = i, N 12 j = 1, N-1 13 j = i+1, N-1 14 j = 1, i-1 15 j = i+1, N
www.gisa79.com
디 버 깅