선택 정렬
-
Select Sort (version2)C 자료구조/Sort Basic 2020. 8. 10. 17:44
1. 설명 정렬의 기준은 오름차순이다. 정렬을 할 배열을 A[n]이라 한다. 배열 A[1...n]에서 가장 큰 원소를 찾아, 이 원소와 배열의 맨 끝자리에 있는 A[n]과 자리를 바꾼다. 그러면 방금 맨 뒷자리로 옮긴 원소, 즉, 가장 큰 원소는 자기 자리를 찾았으므로, 더 이상 신경 안써도 된다. 이 원소는 정렬이 끝났다고 볼 수있으므로, 이제 이 원소를 제외한 나머지 원소들도 같은 작업을 반복하면 된다. 아래는 선택 정렬 알고리즘 의사코드 위의 알고리즘을 풀어서 쓴 의사코드 알고리즘의 입력은 정렬해야할 배열 A[1...n]이다. 위의 알고리즘 식 알파에서 변수last는 정렬할 배열의 맨 마지막 인덱스, 즉, 배열의 크기를 나타낸다. 처음에는 배열의 크기가 n으로 시작하므로, A[1...n]을 정렬 대..
-
Select Sort (version1)C 자료구조/Sort Basic 2020. 8. 10. 17:24
1. 설명 정렬은 오름차순을 기준으로 한다. [그림 1] 위의 그림과 같이 입력 배열에서 최소값을 발견한 다음, 이 최소값을 배열의 첫 번째 요소와 교환. 그 다음에는 첫 번째 요소를 제외한 나머지 요소들 중에서 가장 작은 값을 선택하고, 이를 두 번째 요소와 교환한다. 이 절차를 (숫자 개수 - 1) 만큼 되풀이 하면 전체 숫자들이 정렬된다. [그림 2] 아래의 선택 정렬 알고리즘 의사코드를 보자. 위에서 주의할 것은 i값이 0에서 n-2까지만 변화된다는 점이다. 만약, A[0]부터 A[n-2]까지 정렬이 되었으면 이미 A[n-1]이 가장 큰 값이기 때문에 n-1까지 정렬할 필요가 없다. 2. 구현 프로그램 실행결과 3. 소스 파일