排序演算法簡單介紹:
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...