"""
選擇排序的基本思想:
給定序列 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...