pyt hon可视化排序
时间: 2023-07-06 17:30:08 浏览: 42
Python可视化排序可以通过matplotlib库实现。以下是一个使用matplotlib库实现冒泡排序可视化的示例代码:
```python
import matplotlib.pyplot as plt
import random
def bubble_sort(data):
n = len(data)
for i in range(n):
for j in range(0, n-i-1):
if data[j] > data[j+1]:
data[j], data[j+1] = data[j+1], data[j]
yield data
def visualize_sort(data):
fig, ax = plt.subplots()
ax.set_title('Bubble sort')
bar_rects = ax.bar(range(len(data)), data, align='edge')
ax.set_xlim(0, len(data))
ax.set_ylim(0, int(1.07 * max(data)))
text = ax.text(0.02, 0.95, "", transform=ax.transAxes)
iteration = [0]
def update_fig(data, rects, iteration):
for rect, val in zip(rects, data):
rect.set_height(val)
iteration[0] += 1
text.set_text("# of operations: {}".format(iteration[0]))
ani = animation.FuncAnimation(fig, func=update_fig, fargs=(bar_rects, iteration), frames=bubble_sort(data), repeat=True)
plt.show()
if __name__ == "__main__":
data = random.sample(range(100), 20)
visualize_sort(data)
```
这个代码使用动画函数`animation.FuncAnimation`和冒泡排序算法实现可视化排序过程。最终结果是一个动态的柱状图,展示了冒泡排序的过程。