快速 氣泡排序演算法

2021-08-28 23:56:05 字數 1162 閱讀 6426

排序演算法簡單介紹:

1.氣泡排序

思路:1)先用第乙個與後面的元素依次比較,如果第乙個大於某個元素,就交換他們的值;

2)然後再用第二個與後面的元素依次比較,如果它大於,就交換值;

3)重複操作,直到最後乙個值結束,得到的新陣列就是有序的了

import random

# data=[random.randint(0,100) for i in range(10)]

# print("待排序的隨機數列:".format(data))

data=[14,2,3,6,4]

m=len(data)

for i in range(m):

for j in range(i+1,m):

if data[i]>data[j]:

x=data[j]

data[j]=data[i]

data[i]=x

print(data)

print(data)

2.快速排序:

思路:使用遞迴方法

1)找乙個基線條件(遞迴結束條件)

2)隨機選取乙個元素作為基準值,找出大於基準值的所有元素,找出小於等於基準值的所有元素

3)然後分別對得到的子陣列第二步的操作,直到符合基線條件

def qsort(list):

#如果list的長度小於2,直接返回本身

if len(list) < 2:

return list

else:

#選擇乙個基準值

refvalue = list[0]

#找出小於基準值的數

little = [i for i in list[1:] if i <= refvalue]

# 找出大於基準值的數

large = [i for i in list[1:] if i > refvalue]

#分別對little和large執行qsort()

return qsort(little) + [refvalue] + qsort(large)

list = [3,5,13,2,6,8,4,1,7,3,5,10,11,9,12]

list1 = qsort(list)

print(list1)

冒泡 快速排序演算法

氣泡排序 效果 原理 簡單來說就是兩兩比較大小乙個外層迴圈裡面套乙個內層迴圈 將大的數放在最後,通過迴圈實現排序 實現 arr array 1,43,54,62,21,66,32,78,36,76,39 function getpao arr return arr print r getpao ar...

氣泡排序和快速排序演算法

氣泡排序 原理 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。實現 public...

php排序演算法 氣泡排序,快速排序

氣泡排序實現原理 首先將所有待排序的數字放入工作列表中。從列表的第乙個數字到倒數第二個數字,逐個檢查 若某一位上的數字大於他的下一位,則將它與它的下一位交換。重複步驟 直至再也不能交換。實現 複製 如下 氣泡排序 by www.jbxue.com function bubbingsort array...