python可视化界面实现十大排序算法
时间: 2023-09-14 14:07:44 浏览: 164
实现十大排序算法的可视化界面可以使用Python中的Tkinter库。下面是一个简单的示例,展示如何使用Tkinter来实现冒泡排序的可视化界面。
```python
import tkinter as tk
import random
import time
# 创建窗口
window = tk.Tk()
window.title("Sort Visualization")
window.geometry("600x400")
# 创建画布
canvas = tk.Canvas(window, width=600, height=300, bg="white")
canvas.pack()
# 创建排序数组
arr = [random.randint(1, 200) for _ in range(50)]
# 绘制排序前的柱状图
for i in range(50):
x0, y0 = i * 10 + 20, 280
x1, y1 = i * 10 + 30, 280 - arr[i]
canvas.create_rectangle(x0, y0, x1, y1, fill="lightblue")
# 定义冒泡排序函数
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]
draw(arr)
time.sleep(0.1)
# 绘制排序后的柱状图
def draw(arr):
canvas.delete("all")
for i in range(50):
x0, y0 = i * 10 + 20, 280
x1, y1 = i * 10 + 30, 280 - arr[i]
canvas.create_rectangle(x0, y0, x1, y1, fill="lightblue")
window.update()
# 创建排序按钮
sort_btn = tk.Button(window, text="Bubble Sort", command=lambda:bubble_sort(arr))
sort_btn.pack()
window.mainloop()
```
运行上述代码,即可看到一个简单的冒泡排序可视化界面,点击“Bubble Sort”按钮即可开始排序。你可以根据这个示例代码实现其他九种排序算法的可视化界面。
阅读全文