<body>
<script>
(()=>{
const bubbleSort = function(asc, ...ar)
{
let arr;
let temp;
// 한줄을 비교할때마다 스왑이 된지 파악한다.
let swapFlag = false;
if (typeof(ar[0]) === 'number')
{
arr = ar;
}
else if (Array.isArray(ar[0]))
{
arr = ar[0];
}
else
{
return null;
}
for (let i = 0; i < arr.length - 1; i++)
{
for (let k = 0; k < arr.length - 1 - i; k++)
{
// 오름차순
if (asc === true)
{
if (arr[k] > arr[k + 1])
{
temp = arr[k];
arr[k] = arr[k + 1];
arr[k + 1] = temp;
swapFlag = true;
}
}
else // 내림차순.
{
if (arr[k] < arr[k + 1])
{
temp = arr[k];
arr[k] = arr[k + 1];
arr[k + 1] = temp;
swapFlag = true;
}
}
}
if (swapFlag === false)
{
console.log("break " + i);
break;
}
else
{
swapFlag = false;
}
}
return arr;
}
let res = bubbleSort(true, 1, 3, 4, 2, 5);
console.log(res);
})();
</script>
</body>
'JavaScript' 카테고리의 다른 글
dom 강의2 (0) | 2022.08.18 |
---|---|
dom 강의 정리 (0) | 2022.08.17 |
콜백 함수 정리 (0) | 2022.08.14 |
스코프 강의 내용 22.08.11 (0) | 2022.08.11 |
JS강의 로또만들기 22.08.10 (0) | 2022.08.10 |