버블정렬은 sort방법중에 가장 기본적인 정렬방법이다.
3단계로 나눠서 버블정렬의 코드를 작성해보자.
1. 배열 안의 최대값 찾기
let testArr = [3,6,1,2,9,7,3,2];
let max = testArr[0]; // 첫번째 값이 가장 크다고 가정한다.
for(let i=0; i<testArr.length; i++) {
if(max < testArr[i]) {
max = testArr[i];
}
}
- for문으로 0번째 값을 시작으로 모든값과 비교하여 최대값을 찾는다.
2. 첫번째 자리(index:0번째)를 가장 큰 숫자로 자리를 바꿔보자.
배열의 0번째자리 (가장 첫번째 자리) 를 배열 안의 가장 큰값으로 변경한다고 가정해보자.
let testArr = [3,6,1,2,9,7,3,2];
for(let i=1; i<testArr.length; i++) {
if(testArr[0] < testArr[i]) {
let temp = testArr[0];
testArr[0] = testArr[i];
testArr[i] = temp;
}
}
- temp 변수를 이용해 값을 비교해 switch해준다.
2-1. 두번째자리를 두번째 큰 숫자로 변경해보자
for(let i=2; i<testArr.length; i++) {
if(testArr[1] < testArr[i]) {
let temp = testArr[1];
testArr[1] = testArr[i];
testArr[i] = temp;
alert(testArr);
}
- 앞서 한것과 비슷한 방식
3. 이중 for문으로 배열을 정리해본다.
for(j=0; j<testArr.length; j++) {
for(let i=j+1; i<testArr.length; i++) {
if(testArr[j] < testArr[i]) {
let temp = testArr[j];
testArr[j] = testArr[i];
testArr[i] = temp;
}
}
}
'Study Hard > 짧은개발지식.' 카테고리의 다른 글
[자바스크립트] location.href 와 location.replace()의 미묘한 차이점 (0) | 2023.06.26 |
---|---|
[자바스크립트] console.log로 디버깅이나 값 확인 시 주의점!! (0) | 2023.06.23 |
[짧은개발지식] JSONP (JSON Padding) 이란? (0) | 2023.06.22 |
[짧은개발지식] URL 과 URI 의 차이는 뭘까? (0) | 2023.06.07 |
댓글