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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 常用排序Demo|冒、插、快、希等入门算法

發布時間:2025/3/20 python 4 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 常用排序Demo|冒、插、快、希等入门算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python實現日常排序Demo

冒泡排序

import randomlists = random.sample(range(0, 100), 10)print("冒泡排序".center(20, "-")) def Bubble_Sort(lists=lists):# 冒泡排序count = len(lists)for i in range(0, count):for j in range(i + 1, count):if lists[i] > lists[j]:lists[i], lists[j] = lists[j], lists[i]print(lists) Bubble_Sort()

插入排序

print("插入排序".center(20, "-")) def Insertion_sort(lists=lists):# 插入排序count = len(lists)for i in range(1, count):key = lists[i]j = i - 1while j >= 0:if lists[j] > key:lists[j + 1] = lists[j]lists[j] = keyj -= 1print(lists) Insertion_sort()

選擇排序

''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' print("選擇排序".center(20, "-")) def Select_sort(lists=lists):# 選擇排序count = len(lists)for i in range(0, count):min = ifor j in range(i + 1, count):if lists[min] > lists[j]:min = jlists[min], lists[i] = lists[i], lists[min]print(lists) Select_sort()

快速排序

print("快速排序".center(20, "-")) def Quick_sort(lists=lists, left=0, right=len(lists) - 1):# 快速排序if left >= right:return listskey = lists[left]low = lefthigh = rightwhile left < right:while left < right and lists[right] >= key:right -= 1lists[left] = lists[right]while left < right and lists[left] <= key:left += 1lists[right] = lists[left]lists[right] = keyQuick_sort(lists, low, left - 1)Quick_sort(lists, left + 1, high)return lists print(Quick_sort())

快速排序 | lambda

print("快速排序 | lambda".center(20, "-")) quick_sort = lambda lists : ( (len(lists) <= 1 and [lists]) or [ quick_sort( [x for x in lists[1:] if x < lists[0]] ) + [lists[0]] + quick_sort( [x for x in lists[1:] if x >= lists[0]] ) ] )[0] print(quick_sort(lists))

希爾排序

''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' print("希爾排序".center(20, "-")) def Shell_sort(lists=lists):step = len(lists) // 2while step > 0:for i in range(step, len(lists)):while(i >= step and lists[i] < lists[i-step]):lists[i],lists[i-step] = lists[i-step],lists[i]i -= stepstep //= 2print(lists) Shell_sort()

計數排序

print("計數排序".center(20, "-")) def Count_sort(lists=lists):n = len(lists)restful= [None] * nfor i in range(n):p = 0for j in range(n):if lists[i] > lists[j]:p += 1restful[p] = lists[i]print(restful) Count_sort()

桶排序

''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 ''' print("桶排序".center(20, "-")) def Bucket_sort(lists=lists, restful=[]):# 桶排序buckets = [0] * ((max(lists) - min(lists)) + 1)for i in range(len(lists)):buckets[lists[i] - min(lists)] += 1for i in range(len(buckets)):if buckets[i] != 0:restful += [i + min(lists)] * buckets[i]print(restful) Bucket_sort()

基數排序

print("基數排序".center(20, "-")) def Radix_sort(lists=lists):step = len(lists) // 3for k in range(step):radix = [[] for v in range(10)]for v in lists:radix[v // (10**k) % 10].append(v)lists=[j for v in radix for j in v]print(lists) Radix_sort()

總結

以上是生活随笔為你收集整理的Python 常用排序Demo|冒、插、快、希等入门算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。