归并,选择,冒泡

#!/usr/bin/python
#coding=utf-8
'''
冒泡排序算法
'''

def sort(array):
i = 0
len_array = len(array)
while i < len_array:
j=i+1
while j < len_array:
if array[j] > array[i]:
tmp = array[j]
array[j] = array[i]
array[i] = tmp
j = j+1
i = i+1

if __name__ == '__main__':

array = [2,3,2,45,56,234,132,13,54,0,-1,3]
sort(array)
for ii in array:
print ii,"---",


#!/usr/bin/python
#coding=utf-8

'''

选择排序

'''
def select_sort(array):

length = len(array)
i = 0
while i < length:
tmp = i
j = i+1

while j < length:
if array[j] > array[tmp]:
tmp = j
j = j+1

if tmp != i :
tmp_value = array[i]
array[i] = array[tmp]
array[tmp] = tmp_value

i = i+1


if __name__ == '__main__':

array = [1,23,34,456,3,50,67,-2,4,-67,-575,57570,45,12,2,1,23]
select_sort(array)

for i in array:

print i,'----',
----------------------------------------------------------------------------------
//归并排序:
#!/usr/bin/python
#coding=utf-8


def merger(a,left,right):

if left == right:

return

else:

center = (left+right)/2

merger(a,left,center)
merger(a,center+1,right)
sort(a,left,center,right)


def sort(a,left,center,right):

tmp_array = []
tmp_check = 0
r = right
l = left
right_tmp = center+1
while left <= center and right_tmp <= right:

if a[left] >= a[right_tmp]:

tmp_array.append(a[left])
left+=1
else:
tmp_array.append(a[right_tmp])
right_tmp+=1
tmp_check+=1

while left <= center:

tmp_array.append(a[left])
left+=1
tmp_check+=1
while right_tmp <= right:

tmp_array.append(a[right_tmp])
right_tmp+=1
tmp_check+=1

i=0
while l <= r:
kk = tmp_array[i]
a[l]=tmp_array[i]
i+=1
l+=1

if __name__ == '__main__':

a=[1,2,4,6,28,40,79,28,1,2,91,92,93,34,52,12]
merger(a,0,len(a)-1)
for i in a:
print i,'***',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值