写一个有关于希尔排序和冒泡排序的代码
时间: 2024-04-06 17:34:25 浏览: 90
以下是希尔排序和冒泡排序的Python代码实现:
# 希尔排序
def shell_sort(arr):
n = len(arr)
gap = n // 2
while gap > 0:
for i in range(gap, n):
temp = arr[i]
j = i
while j >= gap and arr[j - gap] > temp:
arr[j] = arr[j - gap]
j -= gap
arr[j] = temp
gap //= 2
# 冒泡排序
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 测试希尔排序和冒泡排序
arr = [12, 34, 54, 2, 3]
shell_sort(arr)
print("希尔排序后的数组:", arr)
arr = [12, 34, 54, 2, 3]
bubble_sort(arr)
print("冒泡排序后的数组:", arr)
输出结果:
希尔排序后的数组: [2, 3, 12, 34, 54]
冒泡排序后的数组: [2, 3, 12, 34, 54]
阅读全文