[알고리즘] 선택 정렬 (selection sort)
설명
- 배열의 최솟값을 교체한다.
- 첫번째 값과 최솟값을 변경한다.
- 그 다음 위치로 넘어가 배열의 끝까지 1~3번을 반복한다.
시간복잡도
O(n^2)
코드
#include <iostream>
#include <vector>
using namespace std;
void selection_sort(vector<int> &nums) {
int min_index, temp;
for (int i = 0; i < nums.size(); i++){
min_index = i;
for(int j = i+1; j < nums.size(); j++) {
if (nums[j] < nums[min_index]) {
min_index = j;
}
}
temp = nums[min_index];
nums[min_index] = nums[i];
nums[i] = temp;
}
}
int main() {
vector<int> nums = {5,4,3,2,1};
selection_sort(nums);
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
}
Author And Source
이 문제에 관하여([알고리즘] 선택 정렬 (selection sort)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@garin0112/알고리즘-선택-정렬-selection-sort
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <iostream>
#include <vector>
using namespace std;
void selection_sort(vector<int> &nums) {
int min_index, temp;
for (int i = 0; i < nums.size(); i++){
min_index = i;
for(int j = i+1; j < nums.size(); j++) {
if (nums[j] < nums[min_index]) {
min_index = j;
}
}
temp = nums[min_index];
nums[min_index] = nums[i];
nums[i] = temp;
}
}
int main() {
vector<int> nums = {5,4,3,2,1};
selection_sort(nums);
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " ";
}
}
Author And Source
이 문제에 관하여([알고리즘] 선택 정렬 (selection sort)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@garin0112/알고리즘-선택-정렬-selection-sort저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)