기록 > 기억
[Algorithm] 정렬 알고리즘 본문
정렬 알고리즘 (선택, 버블)
● 선택정렬 (오름차순) → 두 수를 비교하여 가장 작은 수를 왼쪽부터 정렬
21 | 20 | 10 | 55 | 100 | 33 | 75 | 4 |
20 | 21 | 10 | 55 | 100 | 33 | 75 | 4 |
10 | 21 | 20 | 55 | 100 | 33 | 75 | 4 |
10 | 21 | 20 | 55 | 100 | 33 | 75 | 4 |
10 | 21 | 20 | 55 | 100 | 33 | 75 | 4 |
10 | 21 | 20 | 55 | 100 | 33 | 75 | 4 |
10 | 21 | 20 | 55 | 100 | 33 | 75 | 4 |
4 | 21 | 20 | 55 | 100 | 33 | 75 | 10 |
4 | 20 | 21 | 55 | 100 | 33 | 75 | 10 |
4 | 20 | 21 | 55 | 100 | 33 | 75 | 10 |
4 | 20 | 21 | 55 | 100 | 33 | 75 | 10 |
4 | 20 | 21 | 55 | 100 | 33 | 75 | 10 |
4 | 20 | 21 | 55 | 100 | 33 | 75 | 10 |
4 | 10 | 21 | 55 | 100 | 33 | 75 | 20 |
4 | 10 | 21 | 55 | 100 | 33 | 75 | 20 |
4 | 10 | 21 | 55 | 100 | 33 | 75 | 20 |
4 | 10 | 21 | 55 | 100 | 33 | 75 | 20 |
4 | 10 | 21 | 55 | 100 | 33 | 75 | 20 |
4 | 10 | 20 | 55 | 100 | 33 | 75 | 21 |
4 | 10 | 20 | 55 | 100 | 33 | 75 | 21 |
4 | 10 | 20 | 33 | 100 | 55 | 75 | 21 |
4 | 10 | 20 | 33 | 100 | 55 | 75 | 21 |
4 | 10 | 20 | 21 | 100 | 55 | 75 | 33 |
4 | 10 | 20 | 21 | 55 | 100 | 75 | 33 |
4 | 10 | 20 | 21 | 55 | 100 | 75 | 33 |
4 | 10 | 20 | 21 | 33 | 100 | 75 | 55 |
4 | 10 | 20 | 21 | 33 | 75 | 100 | 55 |
4 | 10 | 20 | 21 | 33 | 55 | 100 | 75 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
/* 선택정렬 오름차순 코드 */
let number = [21, 20, 10, 55, 100, 33, 75, 4];
for(let i=0; i<number.length-1; i++) { //기준 항목
for(let j=i+1; j<number.length; j++) { //비교 항목
if(number[i] > number[j]) { //a가 b보다 크면 스와핑
let temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
document.write(number); //4,10,20,21,33,55,75,100
● 버블정렬 (오름차순) → 인접한 두 수를 비교하여 가장 큰 수를 오른쪽부터 정렬
21 | 20 | 10 | 55 | 100 | 33 | 75 | 4 |
20 | 21 | 10 | 55 | 100 | 33 | 75 | 4 |
20 | 10 | 21 | 55 | 100 | 33 | 75 | 4 |
20 | 10 | 21 | 55 | 100 | 33 | 75 | 4 |
20 | 10 | 21 | 55 | 100 | 33 | 75 | 4 |
20 | 10 | 21 | 55 | 33 | 100 | 75 | 4 |
20 | 10 | 21 | 55 | 33 | 75 | 100 | 4 |
20 | 10 | 21 | 55 | 33 | 75 | 4 | 100 |
10 | 20 | 21 | 55 | 33 | 75 | 4 | 100 |
10 | 20 | 21 | 55 | 33 | 75 | 4 | 100 |
10 | 20 | 21 | 55 | 33 | 75 | 4 | 100 |
10 | 20 | 21 | 33 | 55 | 75 | 4 | 100 |
10 | 20 | 21 | 33 | 55 | 75 | 4 | 100 |
10 | 20 | 21 | 33 | 55 | 4 | 75 | 100 |
10 | 20 | 21 | 33 | 55 | 4 | 75 | 100 |
10 | 20 | 21 | 33 | 55 | 4 | 75 | 100 |
10 | 20 | 21 | 33 | 55 | 4 | 75 | 100 |
10 | 20 | 21 | 33 | 55 | 4 | 75 | 100 |
10 | 20 | 21 | 33 | 55 | 4 | 75 | 100 |
10 | 20 | 21 | 33 | 4 | 55 | 75 | 100 |
10 | 20 | 21 | 33 | 4 | 55 | 75 | 100 |
10 | 20 | 21 | 33 | 4 | 55 | 75 | 100 |
10 | 20 | 21 | 33 | 4 | 55 | 75 | 100 |
10 | 20 | 21 | 33 | 4 | 55 | 75 | 100 |
10 | 20 | 21 | 33 | 4 | 55 | 75 | 100 |
10 | 20 | 21 | 4 | 33 | 55 | 75 | 100 |
10 | 20 | 21 | 4 | 33 | 55 | 75 | 100 |
10 | 20 | 21 | 4 | 33 | 55 | 75 | 100 |
10 | 20 | 21 | 4 | 33 | 55 | 75 | 100 |
10 | 20 | 21 | 4 | 33 | 55 | 75 | 100 |
10 | 20 | 21 | 4 | 33 | 55 | 75 | 100 |
10 | 20 | 4 | 21 | 33 | 55 | 75 | 100 |
10 | 20 | 4 | 21 | 33 | 55 | 75 | 100 |
10 | 20 | 4 | 21 | 33 | 55 | 75 | 100 |
10 | 20 | 4 | 21 | 33 | 55 | 75 | 100 |
10 | 20 | 4 | 21 | 33 | 55 | 75 | 100 |
10 | 20 | 4 | 21 | 33 | 55 | 75 | 100 |
10 | 4 | 20 | 21 | 33 | 55 | 75 | 100 |
10 | 4 | 20 | 21 | 33 | 55 | 75 | 100 |
10 | 4 | 20 | 21 | 33 | 55 | 75 | 100 |
10 | 4 | 20 | 21 | 33 | 55 | 75 | 100 |
10 | 4 | 20 | 21 | 33 | 55 | 75 | 100 |
10 | 4 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
4 | 10 | 20 | 21 | 33 | 55 | 75 | 100 |
/* 버블정렬 오름차순 코드 */
let number = [21, 20, 10, 55, 100, 33, 75, 4];
for(let i=0; i<number.length-1; i++) {
for(let j=0; j<number.length-1; j++) {
if(number[j] > number[j+1]) { //인접한 두 항목비교, a가 b보다 크면 스와핑
let temp = number[j];
number[j] = number[j+1];
number[j+1] = temp;
}
}
}
document.write(number); //4,10,20,21,33,55,75,100
'IT국비지원' 카테고리의 다른 글
[JavaScript] 폼 객체 ② radio 객체 (0) | 2021.09.29 |
---|---|
[JavaScript] 폼 객체 ① text 객체 (0) | 2021.09.17 |
[JavaScript] 폼 객체, 내장 객체, 윈도우 객체 (0) | 2021.09.17 |
[JavaScript] 함수 (function) (0) | 2021.09.15 |
[JavaScript] 배열 (Array) (0) | 2021.09.14 |
[JavaScript] 제어문 ② 반복문 (for, while, do while, for in, for of) (0) | 2021.09.08 |
[JavaScript] 제어문 ① 조건문 (if, switch) (0) | 2021.09.08 |
Comments