关于利用python进行快速排序
鄙人新人一个,目前正在学习中,不喜勿喷
当然也欢迎志同道合之人一起学习,一起进步
我们或多或少接触过排序问题,但是当数据过于庞大时,普通的排序方法(冒泡,选择,插入)在时间和占用内存的角度来说是处于一种劣势地位【极特殊情况除外】
步骤:
1.从数列中挑出一个元素,称为 "基准"(pivot),
2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
3.递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
代码:
# 对排序进行封装部分
def sub_sort(list_, low, high): x = list_[low] # 将基准赋值给变量x 以便于后续操作 while low < high: while list_[high] >= x and low < high: