sort() 메서드를 사용한 버블 정렬 구현

const bubbleSort = (arr) => {
	let newArr = arr.sort((a, b) => {
		return a-b;
	});
}

이중 for문을 이용한 버블 정렬 구현1

const bubbleSort = (arr) => {
	let newArr = [];
	let tmp = 0;

	for(let i=0; i<arr.length; i++) {
		for(let j=i+1; j<arr.length; j++) {
			if(arr[i] > arr[j]) {
				tmp = arr[i];
				arr[i] = arr[j];
				arr[j] = tmp;
			}
		}
		newArr.push(arr[i]);
	}
	return newArr;
}

이중 for문을 이용한 버블 정렬 구현2

const bubbleSort = (arr) => {
	let smallerEl = 0;
	let biggerEl = 0;

	for(let i=0; i<arr.length; i++) {
		// 현재 인덱스의 요소가 다음 인덱스의 요소보다 큰 경우 정렬이 일어나야 한다.
		// 정렬이 일어나는 경우를 카운트 해주는 변수를 선언해준다.
		let cnt = 0;
		for(let j=0; j<arr.length; j++) {
			if(arr[j] > arr[j+1]) {
				// 정렬이 일어난 경우 cnt를 1씩 증가시켜준다.
				cnt++;
				smallerEl = arr[j+1];
				biggerEl = arr[j];
				arr[j] = smallerEl;
				arr[j+1] = biggerEl;
			}
		}
		// cnt가 0이라는 것은 정렬이 이루어 지지 않은 것이다. 
		// 정렬이 이루어지지 않은 경우라면 arr을 바로 리턴한다.
		if(cnt === 0) {
			return arr;
		}
	}
	return arr;
}