設計乙個函式,將整數陣列a[n]劃分為左右兩部分,使左邊所有元素值為奇數,右邊所有值為偶數
def devide(xlist):
l=len(xlist)#形參列表的長度
i=0j=l-1
#快速排序法
while iwhile xlist[i]%2!=0:
i=i+1
while xlist[j]%2==0:
j=j-1
if itemp=xlist[i]
xlist[i]=xlist[j]
xlist[j]=temp
return xlist
if __name__=='__main__':
array=input("輸入整數陣列元素,以空格分隔:\n")
templist=array.split(' ')#分隔符是乙個空格
numlist=
for temp in templist:
if temp.isdigit():#把由整數數字組成的元素儲存起來
print("原陣列:")
print(numlist)
numlist=devide(numlist)#呼叫劃分函式
print("新陣列:")
print(numlist)
python實現快排演算法 python快排演算法詳解
快排是python經典演算法之一。1 下面講解的是什麼是快排和快排的圖示。2 快排是一種解決排序問題的運算方法。3 快排的原理 在陣列中任意選擇乙個數字作為基準,用陣列的資料和基準資料進行比較,比基準數字打的數字的基準數字的右邊,比基準數字小的數字在基準數字的左邊,第一次排序之後分為比基準資料大或比...
python實現快排
學習python,隨便寫了下快排,如下 coding utf 8 快速排序演算法實現 import sys sys.setrecursionlimit 1000000 設定最大遞迴深度,這裡設定為一百萬 def kuaipai ii,jj,data list global s s 1 記錄遞迴的深度...
快排 Python實現
同氣泡排序 上篇博文 一樣,快速排序也屬於交換排序,通過元素之間的比較與交換位置來達到排序的目的。不同的是,氣泡排序在每一輪中只是把1個元素冒泡到陣列的一端,而快速排序是 每一輪挑選乙個基準元素,讓比基準元素大的元素移動到陣列的一邊,比基準元素小的移動到陣列的另外一端,從而把陣列拆解成兩部分。舉例說...