Python程式設計練習 快排劃分整數陣列

2021-10-04 05:14:34 字數 665 閱讀 1001

設計乙個函式,將整數陣列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個元素冒泡到陣列的一端,而快速排序是 每一輪挑選乙個基準元素,讓比基準元素大的元素移動到陣列的一邊,比基準元素小的移動到陣列的另外一端,從而把陣列拆解成兩部分。舉例說...