본문 바로가기
Study Hard/짧은개발지식.

[짧은개발지식] 버블정렬 - Js코드로 만들어보기

by 코플+ 2023. 6. 23.

버블정렬은 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;
        }
      }
    }

 

댓글