일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- HTML
- 파이썬 파일 수정
- DML
- commit
- 파이썬 파일편집
- sort
- github
- Push
- 깃
- java 상속
- 파이썬
- 스프링
- spring
- DDL
- git
- python pwd
- Spring Boot
- SQL
- 깃허브
- Javascript
- Python
- java
- 정렬
- nodejs
- 자바
- pull
- js
- 파이썬 파일생성
- Algorithm
- JAVA ERROR
Archives
- Today
- Total
춘식이를 좋아하는 개발자
[Algorithm] BubbleSorting (버블정렬) 본문
728x90
버블정렬을 알아보자!
위의 그림과 같이 버블정렬은 각 회전마다 서로 붙어있는 index를 비교해 더 큰 숫자가 뒤로 가게 for문을 돌리는 방법이다.
코드를 알아보자!
// 자바스크립트 or 자바 선택해서 풀 것!
// 버블정렬을 이용하여 오름차순으로 정렬하고 총 몇회전 했는지 알아내시오.
let array = [1, 10, 4, 3, 5];
let count = 0; //총 몇회전 했는지 알아내는 변수
// Bubble sort funtion
function bubble(array){
var len = array.length;
for(var i=0;i<len-1;i++){
for(var j=0;j<len-i-1;j++){
var tmp=0;
if(array[j]>array[j+1]){
tmp = array[j];
array[j]=array[j+1];
array[j+1]=tmp;
count++;
}
}
}
return array;
}
var array1 = bubble(array);
console.log(array1);
console.log(count);
function bubbleResult(array){
let len = array.length;
let isSwap = null;
for(let i=len; i>0;i--){
isSwap = false;
for(let j=0;j<(i-1);j++){
let tmp=0;
if(array[j]>array[j+1]){
tmp = array[j];
array[j]=array[j+1];
array[j+1]=tmp;
count++;
isSwap = true;
}
}
if(!isSwap) break; // for문 닫기
}
return array;
}
var array2 = bubbleResult(array);
console.log(array2);
console.log(count);
728x90
'Study > JavaScript' 카테고리의 다른 글
[Algorithm] Sellect Sorting (선택정렬) (0) | 2022.04.22 |
---|