JS 노트_선택정렬

주재일·2021년 6월 14일
0

JS

목록 보기
9/33

선택정렬
시간복잡도 O(N^^2)
배열을 순회하면서 가장 작은 값을 빼내서 빈 배열에 정렬해주는 로직

내장함수 사용 x
let arr = [10, 20, 30, 40, 50, 11, 13, 8, 2]
let alength=arr.length

for(let i=0; i<alength-1; i++){
  let numbMIn = i;
  for(let j=i+1; j<alength; j++){
    if(arr[j]<arr[numbMIn]){
      numbMIn = j;
    }
  }
  if(i !== numbMIn){
    let temp = arr[i];
    arr[i] = arr[numbMIn];
    arr[numbMIn] = temp
  }
}

console.log(arr)

내장함수 사용 - while문
let a = [10, 20, 30, 40, 50, 11, 13, 8, 2]
let ary = []
let alength=a.length

while(a.length){
  ary.push(Math.min.apply(null, a))
  a.splice(a.indexOf(Math.min.apply(null, a)), 1)
}

console.log(ary)
내장함수 사용 - for문
let a = [10, 20, 30, 40, 50, 11, 13, 8, 2]
let ary = []
let alength=a.length

for(let i=0; i<alength; i++){
  ary.push(Math.min.apply(null, a))
  a.splice(a.indexOf(Math.min.apply(null, a)), 1)
}

console.log(ary)
profile
늦게 시작했으니 저는 늦둥이인가요?

0개의 댓글

관련 채용 정보