快速排序 python

2022-09-01 22:36:31 字數 1159 閱讀 2631

冒泡:

#

氣泡排序

defbubble_sort(lt):

for i in range(len(lt)-1): #

外部迴圈,用來表示冒泡進行的次數

for j in range(len(lt)-i-1):

#內部迴圈,如果從下標為0的元素開始匹配,j下標一直到倒數第二個元素

if lt[j] > lt[j+1]:

lt[j], lt[j+1] = lt[j+1], lt[j]

#上面兩行**-如果lt列表中下標為j的值大於下標為j+1的值,

#就調換位置,相當於lt[j] = lt[j+1], lt[j+1] = lt[j]

print(lt) #

列印列表

lt = [9, 8, 6, 4, 5, 1, 3, 10] #

首先建乙個列表

bubble_sort(lt) #

呼叫函式輸出經過氣泡排序後的列表

選擇:

#

選擇排序

list1 = [12, 3, 6, 2, 5, 7, 8, 9] #

首先定義乙個列表

defquick_sort(list1):

for i in range(len(list1)-1): #

預設從0下標開始

x = i #

建立乙個訊號量

for j in range(i+1, len(list1)):#

從列表第i+1個元素開始

if list1[x] > list1[j]:#

一旦匹配到小於下標為i的元素

x =j

list1[i], list1[x] =list1[x], list1[i]

#將元素賦值給訊號量x,依次迴圈,遇到更小的,繼續交換元素

print

(list1)

quick_sort(list1)

快排:

快排的複雜度分析:

python快速排序排序 python快速排序

import random def rand n for i in range n yield random.randint 0,1000 建立乙個隨機數列表 def createlist n lists for i in rand n return lists 挖坑法快速排序 def quick ...

排序 快速排序 Python

快速排序 快排 是非常常用的排序方法,在技術面試中出現頻率也特別高。它主要採用交換和分治的策略進行排序。是不穩定排序。步驟 1 在序列中選乙個元素作為劃分的基準元素 pivot 2 將所有不大於pivot的數字放在pivot的前面,大於pivot的數字放在pivot的後面 3 以pivot為界,對前...

python快速排序

coding utf 8 class quicksort def sort self,list,left,right 開始位置小於 位置 if left 取到中間的乙個下標值 s list left right 2 i 0 i left j 下標結束 j right while true 從開始位置...