氣泡排序,選擇排序,插入排序

2022-08-23 06:45:11 字數 1618 閱讀 8914

氣泡排序,使用語言python

def bubblesort(lists):

count = len(lists)

for i in range(0,count):

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

if lists[j] > lists[j+1]:

lists[j],list[j+1] = lists[j+1],list][j]

推導:[2,10,8,6]

i 的範圍 0~3,執行4次

j 的範圍 0~3-i-1

第一: [2,8,6,10]

第二: [2,6,8,10]

第三: [2,6,8,10]

第四: [2,6,8,10]

1 #coding: utf-8

2#選擇排序,使用語言python

3 #【2,10,8,6】4

#基本思想,在待排序記錄中r,r[min_index]選出最小的記錄,如果r[min_index]大於r,則進行交換。

5def selectsort(lists):

6 count =len(lists)

7for i in range(0

,count):

8 min_index =i

9for j in range(i+1

,count):

10if lists[min_index] >lists[j]:

11 lists[min_index],lists[j] =lists[j],lists[min_index]

12return

lists

1314

#插入排序,使用語言python

15#基本思想:將乙個資料插入到有序的數列中,直至該數列完全有序

16def insertsort(lists):

17 count =len(lists)

18for i in range(1

,count):

19if lists[i-1] >lists[i]:

20 key =lists[i]

21 j = i - 1

22while j >= 0 and lists[j] >key:

23 lists[j+1] =lists[j]

24 j -= 1

25 lists [j + 1] =key

26return

lists

2728

if __name__ == "

__main__":

29#選擇

30 lists = [2,10,8,6

]31 lists =selectsort(lists)

32print(lists)

3334

#插入35 lists = [2,10,8,6

]36 lists =insertsort(lists)

37 print(lists)

氣泡排序,選擇排序,插入排序

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...

選擇排序 , 插入排序 , 氣泡排序

編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...

氣泡排序 插入排序 選擇排序

氣泡排序是每輪比較未排序部分,從第乙個元素開始找最值,比較相鄰數字,依次往後推移,最終將最值置於最右。假設有n個數,外迴圈迴圈n 1遍,內迴圈是n 1在減去當前是第幾次外迴圈。void bubble sort mytype a,int n n為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...