Skip to content

Commit c84b8fb

Browse files
committed
modify
1 parent 3d548cc commit c84b8fb

4 files changed

Lines changed: 19 additions & 19 deletions

File tree

Sort/python/BubbleSort.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,41 +9,41 @@
99
# 说明:冒泡排序,从小到大排序,以及加了两种优化
1010
#---------------------------------------
1111

12-
def bubble_sort(arry):
13-
n = len(arry) #获得数组的长度
12+
def bubble_sort(ary):
13+
n = len(ary) #获得数组的长度
1414
for i in range(n):
1515
for j in range(1,n-i):
16-
if arry[j-1] > arry[j] : #如果前者比后者大
17-
arry[j-1],arry[j] = arry[j],arry[j-1] #则交换两者
18-
return arry
16+
if ary[j-1] > ary[j] : #如果前者比后者大
17+
ary[j-1],ary[j] = ary[j],ary[j-1] #则交换两者
18+
return ary
1919

2020

2121
#优化1:某一趟遍历如果没有数据交换,则说明已经排好序了,因此不用再进行迭代了。
2222
#用一个标记记录这个状态即可。
23-
def bubble_sort2(arry):
24-
n = len(arry)
23+
def bubble_sort2(ary):
24+
n = len(ary)
2525
for i in range(n):
2626
flag = 1 #标记
2727
for j in range(1,n-i):
28-
if arry[j-1] > arry[j] :
29-
arry[j-1],arry[j] = arry[j],arry[j-1]
28+
if ary[j-1] > ary[j] :
29+
ary[j-1],ary[j] = ary[j],ary[j-1]
3030
flag = 0
3131
if flag : #全排好序了,直接跳出
3232
break
33-
return arry
33+
return ary
3434

3535
#优化2:记录某次遍历时最后发生数据交换的位置,这个位置之后的数据显然已经有序了。
3636
# 因此通过记录最后发生数据交换的位置就可以确定下次循环的范围了。
37-
def bubble_sort3(arry):
38-
n = len(arry)
37+
def bubble_sort3(ary):
38+
n = len(ary)
3939
k = n #k为循环的范围,初始值n
4040
for i in range(n):
4141
flag = 1
4242
for j in range(1,k): #只遍历到最后交换的位置即可
43-
if arry[j-1] > arry[j] :
44-
arry[j-1],arry[j] = arry[j],arry[j-1]
43+
if ary[j-1] > ary[j] :
44+
ary[j-1],ary[j] = ary[j],ary[j-1]
4545
k = j #记录最后交换的位置
4646
flag = 0
4747
if flag :
4848
break
49-
return arry
49+
return ary

Sort/python/HeapSort.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
def heap_sort(ary) :
1313
n = len(ary)
14-
first = int((n-2)/2) #最后一个非叶子节点
14+
first = int(n/2-1) #最后一个非叶子节点
1515
for start in range(first,-1,-1) : #构造大根堆
1616
max_heapify(ary,start,n-1)
1717
for end in range(n-1,0,-1): #堆排,将大根堆转换成有序数组

Sort/python/MergeSort.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def merge_sort(ary):
1919
def merge(left,right):
2020
'''合并操作,
2121
将两个有序数组left[]和right[]合并成一个大的有序数组'''
22-
l,r = 0,0
22+
l,r = 0,0 #left与right数组的下标指针
2323
result = []
2424
while l<len(left) and r<len(right) :
2525
if left[l] < right[r]:

Sort/python/SelectionSort.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
def select_sort(ary):
1313
n = len(ary)
1414
for i in range(0,n):
15-
min = i #找到最小值的下标
15+
min = i #最小元素下标标记
1616
for j in range(i+1,n):
1717
if ary[j] < ary[min] :
18-
min = j
18+
min = j #找到最小值的下标
1919
ary[min],ary[i] = ary[i],ary[min] #交换两者
2020
return ary
2121

0 commit comments

Comments
 (0)