Fighting 演算法 簡單選擇排序

2021-09-11 04:34:38 字數 757 閱讀 7930

"""

選擇排序的基本思想:

給定序列 l[1,2,3,...,i,i+1,...,n-1,n],

每一趟(例如地i趟)在後面n-i+1(i=1,2,...,n-1)個待排序的元素中,

選取關鍵字最小的元素,做為有序子串行的第i個元素,直到第n-1趟排完,待排序元素只剩下乙個時結束。

簡單選擇排序思想:

假設排序表為l[1...n] 第i趟排序即從l[i...n]中選取關鍵字最小的元素與l(i)交換,

每一趟排序可以確定乙個元素的最終位置,這樣經過n-1趟排序就可以使得整個排序表有序。

"""def ******_select_sort(nums):

size = len(nums)

for i in range(0, size):

min_index = i

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

if nums[j] < nums[min_index]:

min_index = j

if min_index != i:

nums[min_index], nums[i] = nums[i], nums[min_index]

return nums

if __name__ == '__main__':

nums = [2, 3, 1, 5, 4]

print(******_select_sort(nums))

演算法3 排序 簡單選擇排序

基本思想 在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。選擇排序的思想其實和氣泡排序有點類似,都是在一次排序後把最小的元素放到最前面。但是過程不同,氣泡排序是通過相鄰的比較和交換。而選擇排序是通...

簡單選擇排序演算法

include include include 排序用到的結構和函式 define maxsize 20 typedef struct sqlist 交換l中陣列r的下標為i和j的值 void swap sqlist l,int i,int j 簡單選擇排序 void selectsort sqli...

簡單選擇排序演算法

簡單選擇排序思想 首先,找到陣列中最小的元素,其次,將它和陣列第乙個元素交換位置 再次,在剩下的元素中找到最小的元素,將它與陣列中的第二個元素交換。如此亡故,直到將整個陣列排序。這種方法叫做選擇排序,因為它在不斷地選擇剩餘元素之中的最小者。先說看每步的狀態變化,後邊介紹細節,現有無序陣列 6 2 4...