在Python中,对列表进行快速排序可以通过以下方法实现:
1. 使用内置的`sorted()`函数:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_list = sorted(my_list)
print(sorted_list) 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
2. 使用列表对象的`sort()`方法:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort()
print(my_list) 输出:[1, 1, 2, 3, 4, 5, 5, 6, 9]
3. 快速排序算法实现:
def quick_sort(alist, first, last):
if first >= last:
return
mid_value = alist[first]
low = first
high = last
while low < high:
while low < high and alist[high] >= mid_value:
high -= 1
alist[low] = alist[high]
while low < high and alist[low] <= mid_value:
low += 1
alist[high] = alist[low]
alist[low] = mid_value
quick_sort(alist, first, low - 1)
quick_sort(alist, low + 1, last)
示例
num_list = [2, 4, 9, 2, 5, 123, 8]
quick_sort(num_list, 0, len(num_list) - 1)
print(num_list) 输出:[2, 2, 4, 5, 8, 9, 123]
以上方法中,`sorted()`函数会返回一个新的排序后的列表,而`sort()`方法会直接修改原列表。快速排序算法是一种高效的排序算法,其平均时间复杂度为O(n log n)。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/141185.html