選擇排序算法
冒泡排序算法
原理:數(shù)字兩兩進(jìn)行比較翰绊,將大的值移動到右側(cè)飘哨,繼續(xù)進(jìn)行比較直到最大值移動到最右側(cè)婉烟,則完成一次循環(huán),進(jìn)入第二次循環(huán)呜投,以此類推,直到全部數(shù)字排序完成存璃。
import turtle
import time
myPen = turtle.Pen()
myPen.pensize(15)
List = [15, 60, 85, 165, 10, 70, 5]
dis = [0, 50, 100, 150, 200, 250, 300]
# myPen.penup()
# myPen.goto(dis[0], 0)
# myPen.pendown()
# myPen.left(90)
# myPen.forward(List[0])
def draw_line(x):
myPen.goto(dis[x], 0)
myPen.pendown()
myPen.setheading(90)
myPen.forward(List[x])
myPen.penup()
# for i in range(len(List)):
# draw_line(i)
# List = [3, 2, 4, 1]
count = 0
for j in range(len(List)-1):
for i in range(len(List)-1-j):
max = List[i]
if List[i] > List[i+1]:
List[i], List[i+1] = List[i+1], List[i]
myPen.clear()
for m in range(len(List)):
if m == i or m == i+1:
myPen.pencolor("green")
draw_line(m)
else:
myPen.pencolor("blue")
draw_line(m)
time.sleep(1.5)
# count += 1
print(List,count)
turtle.done()