python資料排序

2021-10-08 14:29:52 字數 1505 閱讀 8923

冒泡法:

從前到後不斷對比相鄰的兩數,最大的放到後面

第一次小迴圈後,最大的放到最後

第二次小迴圈後,第二大的放到倒數第二的位置

以此類推

需要的總次數是這個表的長度減一

def

function_bbs

( a_list )

: len_a =

len(a_list)-1

# 未排序的部分

while len_a >=1:

#把最大的數不斷放到最後

for i in

range

( len_a )

:if a_list[i]

> a_list[i+1]

: a_list[i]

, a_list[i+1]

= a_list[i+1]

, a_list[i]

# 對比相鄰的前後兩個數,大的放後面

len_a -=

1import random

a =[random.randint(1,

100)

for i in

range(10

)]# 獲取隨機生成的十個數的列表

function_bbs(a)

print

(a)

選擇排序:

找出最小的數,然後放到第乙個,然後從第二個開始尋找最小的數,接在第乙個後面

# select_sort

deffunc_sls

( lst )

:for i in

range

(len

(lst)-1

):# find the minimal one i to the end

min_idx = i

for j in

range

(i+1

,len

(lst)):

# 找到第i+1個後面最小的數

if lst[j]

< lst[min_idx]

: min_idx = j

lst[i]

,lst[min_idx]

= lst[min_idx]

, lst[i]

#把最小的數與第i+1個交換

import random

lst =

[random.randint(1,

100)

for i in

range(10

)]# 獲取隨機生成的十個數的列表

print

("before sorting: {}"

.format

(lst)

)func_sls( lst )

print

("after sorting:{}"

.format

(lst)

)

Python資料分析 資料排序

在對海量資料進行分析的過程中,可能需要對資料進行排序操作。本文教大家如何在python中對資料框進行一些排序操作。注意 本文採用的資料框date frame python中預設按行索引號進行排序,如果要自定義資料框的排序,可以用sort values函式進行重定義排序。下面對sort values中...

Python資料結構 排序

簡單排序 冒泡 交換 排序 選擇排序 插入排序 希爾排序 複雜排序 快速排序 堆積排序 基數排序 合併排序 合併兩個或多個排好序的線性表 穩定排序與不穩定排序 穩定排序是指一串數字,進過排列以後,同樣大小的元素保持原有的順序。不穩定排序就是說,排序後,同樣大小的元素的順序可能發生改變。例如 排序前有...

python資料結構 排序

氣泡排序 最優時間複雜度 o n 表示遍歷一次發現沒有任何可以交換的元素,排序結束。最壞時間複雜度 o n2 defbubble sort alist for j in range len alist 1,0,1 for i in range j if alist i alist i alist i...