資料結構 排序演算法 python

2021-10-01 02:18:23 字數 825 閱讀 4994

0-冒泡法。沒次比較挨著的連個數字,比較大小

def bubble_sort(alist):

n=len(alist)

for j in range(0,n-1):

for i in range(0,n-j-1):

if alist[i]>alist[i+1]:

alist[i],alist[i+1] =alist[i+1],alist[i]

return alist

list1=[1,5,2,7,9,4,12,4]

print("冒泡法,排序結果:",bubble_sort(list1))

#-1 選擇排序演算法  從未排序的序列中找到最小元素,

#存放在序列的起始位置,然後從未排序序列元素中繼續尋

#找最先元素,放在序列的末尾,知道所有的元素排序完成。

def selective_sort(alist):

n=len(alist)

for j in range(0,n-1):

min_index=j

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

if alist[min_index] >alist[i]:

min_index=i

alist[j],alist[min_index] =alist[min_index],alist[j]

return alist

if __name__=="__main__":

list1=[1,2,4,10,4,7,9]

print("最原始:",list1)

print("選擇排序:",selective_sort(list1))

資料結構 排序演算法

include include define maxitem 100 typedef char keytype 5 typedef int elemtype typedef struct rec elemnode maxitem 氣泡排序演算法 void bubblesort elemnode r,...

資料結構 排序演算法

排序演算法分為內部排序和外部排序兩大類。內部排序 在計算機記憶體中完成的排序演算法 外部排序 不能再記憶體中文完成,必須在磁碟或者磁帶上完成的排序演算法 內部排序是研究的重點問題,通常我們講的八大排序演算法也主要是講的內部排序演算法。排序演算法的穩定性和時間空間複雜度 本文重點介紹以下幾種排序演算法...

資料結構 排序演算法

直接插入排序是指將r i r n 插入到已經有序的r 1 r i 1 序列中。r 0 是乙個哨兵,起到作為邊界條件並作為暫存單元的作用。實際上,一切為簡化邊界條件而引入的附加節點 元素 均可稱為哨兵。例如單鏈表中的頭結點。對於有n個記錄的集合,要進行n 1趟排序。其最優時間複雜度是o n 平均時間複...