日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

五种排序方式gif展示【python】

發(fā)布時(shí)間:2025/4/16 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 五种排序方式gif展示【python】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)述

有五種排序方式。

文章目錄

    • 簡(jiǎn)述
    • 排序
      • 簡(jiǎn)單排序
      • 冒泡排序
      • 選擇排序
      • 歸并排序
      • 快速排序

排序

簡(jiǎn)單排序

import numpy as np import matplotlib.pyplot as plt import os import shutil import imageiodef plotAndSave(X, Y, path):plt.cla()plt.bar(X, Y)plt.savefig(path)def checkfile(path):if not os.path.exists(path):os.mkdir(path)else:shutil.rmtree(path)os.mkdir(path)if __name__ == '__main__':size = 30path = './PNG'algorithmname = '簡(jiǎn)單排序'Xs = list(range(size))A = np.random.randint(-10, 10, size)checkfile(path)PNGLIST = []i, j, times = 0, 0, 0PNGLIST.append(os.path.join(path, str(times) + '.png'))times += 1plotAndSave(Xs, A, PNGLIST[-1])while i < size - 1:j = i + 1while j < size:if A[i] > A[j]:A[i], A[j] = A[j], A[i]if times % 2 == 0:PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1j += 1i += 1PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])generated_images = []for png_path in PNGLIST:generated_images.append(imageio.imread(png_path))shutil.rmtree(path)generated_images = generated_images + [generated_images[-1]] * 5imageio.mimsave(algorithmname + '.gif', generated_images, 'GIF', duration=0.1)

冒泡排序

import numpy as np import matplotlib.pyplot as plt import os import shutil import imageiodef plotAndSave(X, Y, path):plt.cla()plt.bar(X, Y)plt.savefig(path)def checkfile(path):if not os.path.exists(path):os.mkdir(path)else:shutil.rmtree(path)os.mkdir(path)if __name__ == '__main__':size = 30path = './PNG'algorithmname = '冒泡排序'Xs = list(range(size))A = np.random.randint(-10, 10, size)checkfile(path)PNGLIST = []i, j, times = 0, 0, 0PNGLIST.append(os.path.join(path, str(times) + '.png'))times += 1plotAndSave(Xs, A, PNGLIST[-1])while i < size - 1:j = 0while j < size - 1 - i:if A[j] > A[j + 1]:A[j], A[j + 1] = A[j + 1], A[j]if times % 3 == 0:PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1j += 1i += 1PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])generated_images = []for png_path in PNGLIST:generated_images.append(imageio.imread(png_path))shutil.rmtree(path)generated_images = generated_images + [generated_images[-1]] * 5imageio.mimsave(algorithmname + '.gif', generated_images, 'GIF', duration=0.1)

選擇排序

import numpy as np import matplotlib.pyplot as plt import os import shutil import imageiodef plotAndSave(X, Y, path):plt.cla()plt.bar(X, Y)plt.savefig(path)def checkfile(path):if not os.path.exists(path):os.mkdir(path)else:shutil.rmtree(path)os.mkdir(path)if __name__ == '__main__':size = 30path = './PNG'algorithmname = '選擇排序'Xs = list(range(size))A = np.random.randint(-10, 10, size)checkfile(path)PNGLIST = []i, j, times = 0, 0, 0PNGLIST.append(os.path.join(path, str(times) + '.png'))times += 1plotAndSave(Xs, A, PNGLIST[-1])while i < size - 1:j = i + 1mi = iwhile j < size:if A[mi] > A[j]:mi = jj += 1if mi != i:A[i], A[mi] = A[mi], A[i]# if times % 2 == 0:PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1i += 1PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])generated_images = []for png_path in PNGLIST:generated_images.append(imageio.imread(png_path))shutil.rmtree(path)generated_images = generated_images + [generated_images[-1]] * 5imageio.mimsave(algorithmname + '.gif', generated_images, 'GIF', duration=0.1)

歸并排序

import numpy as np import matplotlib.pyplot as plt import os import shutil import imageiodef plotAndSave(X, Y, path):plt.cla()plt.bar(X, Y)plt.savefig(path)def checkfile(path):if not os.path.exists(path):os.mkdir(path)else:shutil.rmtree(path)os.mkdir(path)def MergeSort(A, s, e):global PNGLIST, timesif s >= e:return Nonemid = (s + e) // 2MergeSort(A, s, mid)MergeSort(A, mid + 1, e)i, j, tot = s, mid + 1, 0B = A.copy()while i <= mid and j <= e:if A[i] > A[j]:B[tot] = A[j]j += 1else:B[tot] = A[i]i += 1tot += 1while i <= mid:B[tot] = A[i]i += 1tot += 1while j <= e:B[tot] = A[j]j += 1tot += 1for i in range(tot):A[s + i] = B[i]PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1if __name__ == '__main__':size = 30path = './PNG'algorithmname = '歸并排序'Xs = list(range(size))A = np.random.randint(-10, 10, size)checkfile(path)PNGLIST = []i, j, times = 0, 0, 0PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1MergeSort(A, 0, size-1)PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])generated_images = []for png_path in PNGLIST:generated_images.append(imageio.imread(png_path))shutil.rmtree(path)generated_images = generated_images + [generated_images[-1]] * 5imageio.mimsave(algorithmname + '.gif', generated_images, 'GIF', duration=0.1)

快速排序

import numpy as np import matplotlib.pyplot as plt import os import shutil import imageiodef plotAndSave(X, Y, path):plt.cla()plt.bar(X, Y)plt.savefig(path)def checkfile(path):if not os.path.exists(path):os.mkdir(path)else:shutil.rmtree(path)os.mkdir(path)def qsort(A, s, e):global PNGLIST, timesif s >= e:return Nonei, j, k = s, e, A[s]while i < j:while i < j and A[j] >= k:j -= 1if i < j:A[i] = A[j]while i < j and A[i] <= k:i += 1if i < j:A[j] = A[i]A[i] = kPNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1qsort(A, s, i - 1)qsort(A, i + 1, e)if __name__ == '__main__':size = 30path = './PNG'algorithmname = '快速排序'Xs = list(range(size))A = np.random.randint(-10, 10, size)checkfile(path)PNGLIST = []i, j, times = 0, 0, 0PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])times += 1qsort(A, 0, size - 1)PNGLIST.append(os.path.join(path, str(times) + '.png'))plotAndSave(Xs, A, PNGLIST[-1])generated_images = []for png_path in PNGLIST:generated_images.append(imageio.imread(png_path))shutil.rmtree(path)generated_images = generated_images + [generated_images[-1]] * 5imageio.mimsave(algorithmname + '.gif', generated_images, 'GIF', duration=0.5)

總結(jié)

以上是生活随笔為你收集整理的五种排序方式gif展示【python】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品人人妻人人澡人人爽牛牛 | 欧美综合视频在线观看 | 日本少妇喷水视频 | 日韩欧美亚洲在线 | 69色堂| 亚洲精品国产成人久久av盗摄 | 性高潮影院 | 国产丝袜自拍 | 色综合图片区 | 亚洲欧洲一二三区 | 免费三片在线视频 | 三级精品在线观看 | 综合久| 91视色| 飘花影院伦理片 | 中文字幕在线观看线人 | 亚洲国产欧美日韩在线 | 日韩精品欧美激情 | 风韵少妇spa私密视频 | 国产精品va| www.色多多 | 亚洲国产精品无码久久 | 成熟丰满熟妇高潮xxxxx视频 | 国产露脸国语对白在线 | 亚洲av综合一区 | 美女视频免费在线观看 | 色欲av无码精品一区 | 欧美成人午夜免费视在线看片 | 陪读偷伦初尝小说 | 一级做a爰| 穿越异世荒淫h啪肉np文 | 国产精品无码午夜福利 | 一区二区午夜 | 超碰人人草人人干 | 欧美猛男gaygay | www.av在线.com| 96国产精品 | 久久天天躁狠狠躁夜夜躁 | 色偷偷av | 成人做爰100 | 欧美亚洲一区二区在线观看 | 欧美日韩国产一区二区 | 探花av在线| 精品久久久久久久无码 | 日韩麻豆视频 | 国产18禁黄网站免费观看 | 日韩三级中文 | 日韩欧美小视频 | 中国老头同性xxxxx | 99久久婷婷国产综合精品草原 | 麻豆69| 国产不卡a | 69国产在线 | 九九热只有精品 | 91精品国产91久久久久久 | 国产亚洲精 | 婷婷在线影院 | 天堂网中文在线 | 久久伊人99| 日本免费专区 | 日本在线观看网站 | 久艹视频在线观看 | 中文字幕亚洲欧美日韩在线不卡 | 中文字幕视频在线 | 日本国产亚洲 | 国产男男网站 | 在线国产一区二区三区 | 国产又粗又黄视频 | 无码人妻精品一区二区中文 | 欧美国产日韩一区二区 | 亚洲一区二区在线电影 | av毛片在线免费观看 | 97国产精品 | 亚洲国产乱 | 精品少妇无码av无码专区 | 4438x亚洲最大 | 美女隐私无遮挡网站 | 91免费视频 | 91精品国产一区二区三区蜜臀 | 成年网站免费在线观看 | 成人久久精品人妻一区二区三区 | 在线手机av| 视色网站 | 欧美国产一区二区在线观看 | 日本在线一区二区 | 黄片毛片 | 91亚洲精品久久久蜜桃 | 久久久久久影院 | 91欧美在线视频 | 精品在线观看免费 | 色屁屁草草影院ccyycom | 超碰在线免费观看97 | 噜噜狠狠狠狠综合久久 | 一级日韩一级欧美 | 一区二区三区视频在线播放 | 人妻精油按摩bd高清中文字幕 | 99爱在线视频 | 最近日韩中文字幕 | 国产无码日韩精品 |