較為python pythonic 的直接選擇排序

2021-10-02 03:21:26 字數 945 閱讀 2808

才學到乙個新詞,較為python,也就是python範兒的詞:pythonic,哈哈。

直接選擇排序(straight select sorting) 也是一種簡單的排序方法,它的基本思想是:第一次從r[0]~r[n-1]中選取最小值,與r[0]交換,第二次從r[1]~r[n-1]中選取最小值,與r[1]交換,....,第i次從r[i-1]~r[n-1]中選取最小值,與r[i-1]交換,.....,第n-1次從r[n-2]~r[n-1]中選取最小值,與r[n-2]交換,總共通過n-1次,得到乙個按排序碼從小到大排列的有序序列。

def select_sort2(sque):

n = len(sque)

for i in range(n):

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

if sque[i] > sque[j]:

sque[i], sque[j] = sque[j], sque[i]

a=[23,34,6,6542,54,654,43,5,7,657,4,3,4,3,7,6,65,3]

select_sort2(a)

print(a)

def select_sort1(sque):

n=len(sque)

for i in range(n):

index_min=sque.index(min(sque[i:]),i)

sque[i],sque[index_min]=sque[index_min],sque[i]

a=[23,34,6,6542,54,654,43,5,7,657,4,3,4,3,7,6,65,3]

select_sort1(a)

print(a)

經對9000個正整數測試,用第二種寫法select_sort1,比第一種select_sotr2效率高大約5倍,效果讓人驚訝。

較為簡單的python學習

一 輸出 hello world!print hello world!二 輸入 1 input or val input 注意是數值型別 2 raw input 返回輸入值,不進行運算 3 eval raw input 進行處理 三 python的基本資料型別 1 1 number int,floa...

mysql 較為高效的分頁

直接上 daoimpl 開發轉讓頁面展示 查詢搜尋資料,並且分頁展示 param zrdp 搜尋條件封裝物件 return suppresswarnings unchecked public listshowallzrdpxxpageindex zrdpxx zrdp,int pageindex,s...

金額轉大寫(較為簡潔方法

因為業務需要,要作乙個金額轉換為大寫的方法,參考了網上眾多資料之後,修改並整理了乙個自認為比較簡潔的c 實現方法,初步測試基本達到了自己的需求,將此方法儲存供自己以後查詢,也請各位多多提供一些合理的建議,作進一步改善!private static readonly string numchinese...