๐Ÿ“š Computer Science/Algorithms

Cocktail Sort(์นตํ…Œ์ผ ์ •๋ ฌ)

S.Honey 2022. 4. 9. 23:47
  • ์–‘๋ฐฉํ–ฅ ๊ฑฐํ’ˆ์ •๋ ฌ (bidirectional bubble sort)๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ ๋ฒ„๋ธ”์ •๋ ฌ์˜ ๋ณ€ํ˜•์ด๋‹ค.
  • ํ•œ๋ฒˆ์˜ ๋ฃจํ‹ด๋งˆ๋‹ค ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ” ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
  • ๋ฒ„๋ธ”์ •๋ ฌ๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€๋Š” ์•Š์ง€๋งŒ ๋ฒ„๋ธ” ์ •๋ ฌ๋ณด๋‹ค ๋น ๋ฅด๋‹ค.

ํŒŒ์ด์ฌ ์˜ˆ์ œ ์ฝ”๋“œ

def cocktail(arr, a, b):
    swapped = True

    while swapped == True:
        swapped = False
        for i in range(a, b):
            if arr[i] > arr[i+1]:
                arr[i], arr[i+1] = arr[i+1], arr[i]

        if swapped == False:
            break

        swapped = False

        b = b - 1

        for i in range(b-1, a-1, -1):
            if arr[i] > arr[i+1]:
                arr[i], arr[i+1] = arr[i+1], arr[i]
                swapped = True

        a = a + 1