算法

快速排序

# -*- coding: utf-8 -*-


def fast_sort(array,start,end):
if start >=end: return
i = start
j = end-1
k = array[start]
while i < j:
while i < j and array[j] >= k:
j-=1

tmp = array[j]
array[j] = array[i]
array[i] = tmp


while i < j and array[i] < k:
i+=1
tmp = array[j]
array[j] = array[i]
array[i] = tmp
print i,j
fast_sort(array,start,i)
fast_sort(array,i+1,end)
if __name__ == '__main__':
array = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3,13]
fast_sort(array,0,len(array))

print array

 

选择排序

 

# -*- coding: utf-8 -*-

source = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3,13]
count = 0
for i in range(len(source)):
for j in range(i,len(source)):
source_ele = source[i] #要被拿来对比且替换的原始值

if source[j] < source_ele : #只要这个列表后面的值比最前面的值大,那就把它俩个做个对调
source[i] = source[j]
source[j] = source_ele
count +=1
# print(source)

print(source)
print("运行次数",count)

插入排序

# -*- coding: utf-8 -*-

source = [92, 77, 67, 8, 6, 84, 55, 85, 43, 67]

for i in range(1,len(source)):
current_val = source[i]
position = i
while position > 0 and source[position-1] > current_val:
source[position] = source[position-1]
position -=1


source[position] = current_val

print source

 

转载于:https://www.cnblogs.com/zhaobin022/p/5545257.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值