完成下列排序算法的代码。
快速排序算法。
以下是Python的快速排序算法代码：

```
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less = [x for x in arr[1:] if x <= pivot]
        greater = [x for x in arr[1:] if x > pivot]
        return quicksort(less) + [pivot] + quicksort(greater)
```

或者在原地排序的版本：

```
def partition(arr, low, high):
    i = low - 1 # 确定左边界
    pivot = arr[high] # 将最后一个元素作为基准元素
    for j in range(low, high):
        if arr[j] <= pivot:
            i += 1
            arr[i], arr[j] = arr[j], arr[i] # 交换元素
    arr[i+1], arr[high] = arr[high], arr[i+1] # 将基准元素移动到对应位置
    return i+1

def quicksort(arr, low, high):
    if low < high:
        pivot_index = partition(arr, low, high)
        quicksort(arr, low, pivot_index-1) # 对左边部分进行快排
        quicksort(arr, pivot_index+1, high) # 对右边部分进行快排

arr = [3, 7, 2, 1, 5, 4, 8, 6]
quicksort(arr, 0, len(arr)-1)
print(arr) # 结果为 [1, 2, 3, 4, 5, 6, 7, 8]
```