运行环境:python 2.7.12
学习课程来源:算法与数据结构C++精解
分类:
- 1.冒泡排序
- 2.快速排序
1. 冒泡排序
def bubble_sort(arr, n):
swapped = True
while swapped:
swapped = False
for i in xrange(1, n):
if arr[i-1] > arr[i]:
arr[i-1], arr[i] = arr[i], arr[i-1]
swapped = True
n -= 1
2.快速排序
# _*_ coding:utf-8 _*_
def quick_sort(arr, n):
__quick_sort(arr, 0, n-1)
# 对arr[l...r]部分进行快速排序
def __quick_sort(arr, l, r):
if l >= r:
return
p = __partition(arr, l, r)
__quick_sort(arr, l, p-1)
__quick_sort(arr, p+1, r)
# 对arr[l...r]部分进行partition操作
# 返回p,使得arr[l...p-1] < arr[p]; arr[p+1, r] > arr[p]
def __partition(arr, l, r):
v = arr[l]
j = l
for i in xrange(l+1,r+1):
if arr[i] < v:
j = j+1
arr[j], arr[i] = arr[i], arr[j]
arr[l], arr[j] = arr[j], arr[l]
return j
if __name__ == '__main__':
arr = [2,4,5,10,3,8,7,6,9,1]
len_arr = len(arr)
quick_sort(arr, len_arr)
print arr
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦