mirror of
https://github.com/SunnyQjm/algorithm-review.git
synced 2026-06-03 08:16:43 +08:00
add: sort
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
|
||||
###################################################################################
|
||||
# 冒泡排序
|
||||
###################################################################################
|
||||
|
||||
|
||||
# 第一轮采用正向遍历的冒泡排序代码示例
|
||||
def bubbleSort(A):
|
||||
n = len(A)
|
||||
for i in range(n - 1):
|
||||
for j in range(n - i - 1):
|
||||
if A[j] > A[j + 1]:
|
||||
A[j], A[j + 1] = A[j + 1], A[j]
|
||||
|
||||
|
||||
# 第一轮采用反向遍历的冒泡排序代码示例
|
||||
def bubbleSort2(A):
|
||||
n = len(A)
|
||||
for i in range(n - 1, 0, -1):
|
||||
for j in range(i):
|
||||
if A[j] > A[j + 1]:
|
||||
A[j], A[j + 1] = A[j + 1], A[j]
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
A = [5, 7, 1, 3, 6, 2, 4]
|
||||
bubbleSort(A)
|
||||
print(A, "= [1, 2, 3, 4, 5, 6, 7]")
|
||||
|
||||
A = [5, 7, 1, 3, 6, 2, 4]
|
||||
bubbleSort2(A)
|
||||
print(A, "= [1, 2, 3, 4, 5, 6, 7]")
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
|
||||
###################################################################################
|
||||
# 选择排序
|
||||
###################################################################################
|
||||
|
||||
|
||||
def selectSort(A):
|
||||
n = len(A)
|
||||
for i in range(n - 1):
|
||||
minValueIndex = i
|
||||
for j in range(i + 1, n):
|
||||
if A[j] < A[minValueIndex]:
|
||||
minValueIndex = j
|
||||
A[i], A[minValueIndex] = A[minValueIndex], A[i]
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
A = [5, 7, 1, 3, 6, 2, 4]
|
||||
selectSort(A)
|
||||
print(A, "= [1, 2, 3, 4, 5, 6, 7]")
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
|
||||
###################################################################################
|
||||
# 插入排序
|
||||
###################################################################################
|
||||
|
||||
|
||||
def insertSort(A):
|
||||
n = len(A)
|
||||
for i in range(1, n):
|
||||
curIndex = i
|
||||
for j in range(curIndex - 1, -1, -1):
|
||||
if A[j] > A[curIndex]:
|
||||
A[j], A[curIndex], curIndex = A[curIndex], A[j], j
|
||||
else:
|
||||
break
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
A = [5, 7, 1, 3, 6, 2, 4]
|
||||
insertSort(A)
|
||||
print(A, "= [1, 2, 3, 4, 5, 6, 7]")
|
||||
Reference in New Issue
Block a user