-
[자료구조] 정렬 #2 - 선택정렬 (Selection Sort)Study/자료구조 2021. 2. 2. 11:53
선택정렬이란?
: 제자리 정렬 알고리즘 중 하나
- 제자리 정렬: 입력배열 이외의 다른 메모리는 요구하지 않는 정렬방법
- 현재 있는 값 중 가장 최솟값을 앞으로! (오름차순 정렬시)
시간복잡도: O(n^2)
구현 (오름차순)
void selectionSort(int a[], int size) { int min; for(int i=0; i<size-1; i++){ min = i; for(int j=i+1; j<size; j++){ if(a[min] > a[j]){ min = j; } } if(min != i){ // 최소가 자기 자신인 경우는 이동x int temp = a[i]; a[i] = a[min]; a[min] = temp; } } }
출처
gmlwjd9405.github.io/2018/05/06/algorithm-selection-sort.html
'Study > 자료구조' 카테고리의 다른 글
[자료구조] 정렬 #4 - 합병정렬 (Merge Sort) (0) 2021.02.02 [자료구조] 정렬 #3 - 삽입정렬(Insertion Sort) (0) 2021.02.02 [자료구조] 정렬 #1 - 버블정렬(Bubble Sort) (0) 2021.02.02 [자료구조] Heap (0) 2021.02.01 [자료구조] 스택 / 큐 (0) 2021.02.01