選擇排序(c 和python實現)

2021-09-29 21:21:33 字數 1164 閱讀 1862

演算法思想:如果有n個元素需要排序,那麼首先從n個元素中找到最小的那個放在第0個位置上(交換位置),然後再從剩下的n-1個元素找到最小的放到第1個位置上,然後再從剩下的n-2個元素中找到最小的放到第2個位置上…直到所有元素都就位。

c++實現

#include

#include

using

namespace std;

void

selectionsort

(int a,

int size)

int tmp=a[i]

; a[i]

=a[tmpmin]

; a[tmpmin]

=tmp;}}

void

print

(int a,

int size)

}int

main()

;selectionsort

(a,5);

print

(a,5

);

演算法複雜度:o(n)=n

2n^2

n2python實現

def

selectsort

(a,size)

:for i in

range

(size-1)

: tmpmin=i

for j in

range

(i+1

,size)

:if a[j]

: tmpmin=j

tmp=a[i]

a[i]

=a[tmpmin]

a[tmpmin]

=tmp

return a

a=list

(map

(int

,input()

.split(

" ")))

#輸入:4 1 2

a_sort=selectsort(a,

int(

len(a)))

print

(a_sort)

#輸出:[1,2,4]

氣泡排序和選擇排序 C 實現)

氣泡排序 從陣列的第乙個元素開始 arr 0 兩兩比較 arr n arr n 1 如果前面的數大於後面的數,則交換兩個元素的位置,把大的數往後移動。經過一輪比較後,最大的數會被交換到最後的位置 arr n 1 選擇排序 通過比較,選出每一輪中最值元素 最大或最小 然後把它和本輪中的第乙個元素進行交...

Python實現選擇排序

選擇排序 一種簡單直觀的排序演算法。工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘的未排序的元素中繼續尋找最小 大 元素,然後放到已排序的末尾。直到所有元素均排序完畢。優點 選擇排序與資料移動有關。如果某個元素位於正確的最終位置上,則它不會被移動。選擇排序每...

Python實現選擇排序

實現思路 將乙個序列分為兩部分,前面是有序序列,後面是無序序列,不斷的將後面的無序序列中的最小值新增到前面的有序序列中,直到後面的無序序列中沒有值,開始的時候將第乙個值作為有序序列。實現 arr 7,4,3,67,34,1,8 length 7 defselect sort arr n len ar...