nums
๋ผ๋ ๋ฆฌ์คํธ๊ฐ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ก์ ๋, ๋ฒ๋ธ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํจ์๋ฅผ ๋ง๋ค์ด๋ผ.
def bubbleSort(arr):
length = len(arr) -1
for i in range(length):
for j in range(length - i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
๊ฑฐํ ์ ๋ ฌ ๋๋ ๋ฒ๋ธ ์ ๋ ฌ( - ๆดๅ, ์์ด: bubble sort, sinking sort)์ ๋ ์ธ์ ํ ์์๋ฅผ ๊ฒ์ฌํ์ฌ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์๊ฐ ๋ณต์ก๋๊ฐ ๋ก ์๋นํ ๋๋ฆฌ๋ค.
๊ฑฐํ ์ ๋ ฌ์ ์์
1. ๋ฆฌ์คํธ์ ์ฒซ๋ฒ์งธ ์์์ ๋๋ฒ์งธ ์์์ ๋์ ๊ด๊ณ๋ฅผ ๋น๊ตํ๋ค
2. ๋์๊ด๊ณ์ ๋ฐ๋ผ ์์ ๊ฒ์ ์์ผ๋ก ์์น ์ํจ๋ค.(์ค๋ฆ์ฐจ์ ๊ธฐ์ค)
3. ๋น๊ตํ๋ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๋ฅผ ํ๋์ฉ ์ฆ๊ฐ์์ผ 1,2๋ฅผ ๋ฐ๋ณตํ๋ค.
4. ๋ฆฌ์คํธ์ ๋ ์์๊น์ง ์งํ๋๋ฉด ๊ฐ์ฅ ํฐ ์๊ฐ ๋ฆฌ์คํธ ๋์ ๋ฐฐ์น๋๋ค.
5. ํฐ ์ ๋ถํฐ ์ ๋ ฌ๋, ๋ค์ ์์๋ฅผ ์ ์ธํ๊ณ , 1,2,3์ ๋ฐ๋ณตํ๋ค.
์ถ์ฒ
์ํค๋ฐฑ๊ณผ
์ ์ฒด ์์์ ๊ฐ์๊ฐ ๊ฐ ๋ผ๊ณ ํ ๋,
์ด ๋ฒ ์ํํ๋ฉด ์ ๋ ฌ์ด ์๋ฃ ๋๋ค.
1ํ
1
[6, 5, 3, 2, 8]
[5, 6, 3, 2, 8]
2
[5, 6, 3, 2, 8]
[5, 3, 6, 2, 8]
3
[5, 3, 6, 2, 8]
[5, 3, 2, 6, 8]
4
[5, 3, 2, 6, 8]
[5, 3, 2, 6, 8]
2ํ
1
[5, 3, 2, 6, 8]
[3, 5, 2, 6, 8]
2
[3, 5, 2, 6, 8]
[3, 2, 5, 6, 8]
3
[3, 2, 5, 6, 8]
[3, 2, 5, 6, 8]
3ํ
1
[3, 2, 5, 6, 8]
[2, 3, 5, 6, 8]
2
[3, 2, 5, 6, 8]
[2, 3, 5, 6, 8]
4ํ
1
[2, 3, 5, 6, 8]
[2, 3, 5, 6, 8]