氣泡排序與選擇排序

2022-06-25 13:48:12 字數 2023 閱讀 1654

# # python

# # 氣泡排序:公升序排序

# lt = [8, 3, 6, 9, 5, 2, 4, 1, 7

]# n =len(lt)

# # 外出迴圈控制排序多少輪

# for i in range(n - 1

):# # 記憶體迴圈控制相鄰兩個元素的比較

#

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

#

if lt[j] > lt[j + 1

]:# # 通用交換元素方式

# # temp =lt[j]

# # lt[j] = lt[j+1

]# # lt[j+1] =temp

# # python中特有方式

# lt[j],lt[j + 1] = lt[j + 1

], lt[j]

## print(lt)

# temp = lt[j];lt[j] = lt[j+1];lt[j+1] = temp 等價於lt[j], lt[j + 1] = lt[j + 1

], lt[j]

選擇排序思路:

第一次:找到最小值,存到列表的0座標位置

第二次:找到次小值,存到列表的1座標位置

第三次:找到第三小的值,存到列表的2座標位置

第四次:找到第四小的值,存到列表的3座標位置

第五次:找到第五小的值,存到列表的4座標位置 剩下的最後乙個位置的數,就是最大值

lt = [8, 3, 6, 9, 5, 2, 4, 1, 7

]for i in range(len(lt)-1

): min_index=i

for j in range(i+1

,len(lt)) :

if lt[min_index]>lt[j]:

# temp=lt[min_index]

# lt[min_index]=lt[j]

# lt[j]=temp

lt[min_index],lt[j]=lt[j],lt[min_index]

print(lt)

print(lt)

實現過程如下:

[3, 8, 6, 9, 5, 2, 4, 1, 7][

2, 8, 6, 9, 5, 3, 4, 1, 7][

1, 8, 6, 9, 5, 3, 4, 2, 7][

1, 6, 8, 9, 5, 3, 4, 2, 7][

1, 5, 8, 9, 6, 3, 4, 2, 7][

1, 3, 8, 9, 6, 5, 4, 2, 7][

1, 2, 8, 9, 6, 5, 4, 3, 7][

1, 2, 6, 9, 8, 5, 4, 3, 7][

1, 2, 5, 9, 8, 6, 4, 3, 7][

1, 2, 4, 9, 8, 6, 5, 3, 7][

1, 2, 3, 9, 8, 6, 5, 4, 7][

1, 2, 3, 8, 9, 6, 5, 4, 7][

1, 2, 3, 6, 9, 8, 5, 4, 7][

1, 2, 3, 5, 9, 8, 6, 4, 7][

1, 2, 3, 4, 9, 8, 6, 5, 7][

1, 2, 3, 4, 8, 9, 6, 5, 7][

1, 2, 3, 4, 6, 9, 8, 5, 7][

1, 2, 3, 4, 5, 9, 8, 6, 7][

1, 2, 3, 4, 5, 8, 9, 6, 7][

1, 2, 3, 4, 5, 6, 9, 8, 7][

1, 2, 3, 4, 5, 6, 8, 9, 7][

1, 2, 3, 4, 5, 6, 7, 9, 8][

1, 2, 3, 4, 5, 6, 7, 8, 9][

1, 2, 3, 4, 5, 6, 7, 8, 9]

排序 氣泡排序與選擇排序

最近複習大學學過的演算法,這裡做個筆記。排序,我們學過 這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。走訪元素的工作是重複地...

選擇排序與氣泡排序

今早心血來潮,又想看看氣泡排序.於是乎度娘一番,找到了度娘給我的這篇文章,前面的文字描述還是簡單易懂的,可惜給出的 示範有些文不對題.於是乎又wiki一番.發現上文給出的 形似選擇排序,於是總結如下 我們假設有乙個陣列 624159 對應的索引也就是 0 5,如果我想描述第二個位置,也就是數字2的位...

選擇排序與氣泡排序

選擇排序 static void sort1 int arr var temp arr i arr i arr min arr min temp 氣泡排序 static void sort2 int arr static void main string args sort1 arr foreach...