일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- java
- nodejs
- sort
- 정렬
- Push
- github
- 스프링
- Spring Boot
- js
- JAVA ERROR
- 파이썬 파일생성
- HTML
- git
- 깃
- java 상속
- python pwd
- spring
- pull
- 깃허브
- 파이썬
- commit
- DDL
- 파이썬 파일편집
- Javascript
- Algorithm
- 자바
- Python
- 파이썬 파일 수정
- SQL
- DML
Archives
- Today
- Total
춘식이를 좋아하는 개발자
[Algorithm] BubbleSorting (버블정렬) 본문
버블정렬을 알아보자!
위의 그림과 같이 버블정렬은 각 회전마다 서로 붙어있는 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);
'Study > JavaScript' 카테고리의 다른 글
[Algorithm] Sellect Sorting (선택정렬) (0) | 2022.04.22 |
---|