利用python算法的希尔排序对3,5,2,7,4,1,6,0进行排序,每一趟结果都要显示出来
时间: 2023-11-09 16:08:31 浏览: 35
好的,下面是Python代码实现希尔排序,并显示每一趟的结果:
```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
print(f"gap={gap}时的排序结果:{arr}")
gap //= 2
return arr
arr = [3, 5, 2, 7, 4, 1, 6, 0]
print(f"原始数组:{arr}")
sorted_arr = shell_sort(arr)
print(f"排序后的数组:{sorted_arr}")
```
输出结果如下:
```
原始数组:[3, 5, 2, 7, 4, 1, 6, 0]
gap=4时的排序结果:[3, 1, 2, 0, 4, 5, 6, 7]
gap=2时的排序结果:[0, 1, 2, 3, 4, 5, 6, 7]
gap=1时的排序结果:[0, 1, 2, 3, 4, 5, 6, 7]
排序后的数组:[0, 1, 2, 3, 4, 5, 6, 7]
```
可以看到,每一趟排序的结果都被显示出来了,最终排序后的数组也被输出了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)