VG
Size: a a a
VG
ДК
VG
ⒶK
ДК
ⒶK
ⒶK
T
ⒶK
ⒶK
import tdraw
import time
import random
def delay(millis):
time.sleep(millis / 1000)
def arrdraw(arr, canv, b, narr=[], b1=1):
canv.background(0)
for i in range(len(arr)):
canv.line(0, i, arr[i], i, b1 if i in narr else b)
canv.draw()
def swap(arr, i, i1):
if i != i1:
arr[i] += arr[i1]
arr[i1] = arr[i] - arr[i1]
arr[i] -= arr[i1]
def shuffle(arr):
for i in range(len(arr)):
r = random.randint(0, 15)
r1 = i
swap(arr, r, r1)
size = 42
canv = tdraw.canvas(size, size)
arr = [x for x in range(size)]
shuffle(arr)
#for i in range(len(arr)):
# flag = True
# for j in range(len(arr) - 1):
# arrdraw(arr, canv, 3, [j, j + 1], 5)
# if arr[j] > arr[j + 1]:
# swap(arr, j, j + 1)
# flag = False
# delay(200)
# if flag: break
for i in range(len(arr)):
j = i
while True:
arrdraw(arr, canv, 3, [j if j >= 0 else 0, j - 1], 5)
if j < 1 or arr[j] >= arr[j - 1]: break
swap(arr, j, j - 1)
j -= 1
delay(200)
arrdraw(arr, canv, 5)
ⒶK
import tdraw
import time
import random
def delay(millis):
time.sleep(millis / 1000)
def arrdraw(arr, canv, b, narr=[], b1=1):
canv.background(0)
for i in range(len(arr)):
canv.line(0, i, arr[i], i, b1 if i in narr else b)
canv.draw()
def swap(arr, i, i1):
if i != i1:
arr[i] += arr[i1]
arr[i1] = arr[i] - arr[i1]
arr[i] -= arr[i1]
def shuffle(arr):
for i in range(len(arr)):
r = random.randint(0, 15)
r1 = i
swap(arr, r, r1)
size = 42
canv = tdraw.canvas(size, size)
arr = [x for x in range(size)]
shuffle(arr)
#for i in range(len(arr)):
# flag = True
# for j in range(len(arr) - 1):
# arrdraw(arr, canv, 3, [j, j + 1], 5)
# if arr[j] > arr[j + 1]:
# swap(arr, j, j + 1)
# flag = False
# delay(200)
# if flag: break
for i in range(len(arr)):
j = i
while True:
arrdraw(arr, canv, 3, [j if j >= 0 else 0, j - 1], 5)
if j < 1 or arr[j] >= arr[j - 1]: break
swap(arr, j, j - 1)
j -= 1
delay(200)
arrdraw(arr, canv, 5)
ДК
d
АЗ
АЗ
ⒶK