概要
wslでmanimやってみた。
練習問題やってみた。
練習問題
ソートのアルゴリズムをわかりやすく表示せよ。
参考にしたページ
成果物
サンプルコード
from manim import *
import random
def bubble_sort(seq):
n = len(seq) - 1
for i in range(n):
for j in range(n - i):
if seq[j] > seq[j + 1]:
seq[j] , seq[j + 1] = seq[j + 1], seq[j]
yield (j, j + 1)
class SortAnimation(Scene):
def construct(self):
g = Group()
numbers = list(range(1, 11))
random.shuffle(numbers)
for number in numbers:
g.add(Circle(radius = number / 2 * 0.1))
self.add(g.arrange_in_grid(rows = 1, col_widths = [1] * 10))
for i, j in bubble_sort(numbers):
self.play(Swap(g.submobjects[i], g.submobjects[j]))
g.submobjects[i], g.submobjects[i + 1] = g.submobjects[i + 1], g.submobjects[i]
以上。