演算法思想:如果有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...