Selection Sort

Selection Sort ကေတာ့ bubble sort နဲ႔ ဆင္ပါတယ္။ တူကေတာ့ အပိုင္း ၂ ပိုင္းခြဲလိုက္တယ္။ sort လုပ္ၿပီးသား အပိုင္းနဲ႔ sort မလုပ္ရေသးသည့္ အပိုင္း။ sort လုပ္ၿပီးသား အပိုင္းကို ထပ္ၿပီးေတာ့ sort မလုပ္ေတာ့ဘူး။ ပထမဆံုး အေနနဲ႔ အငယ္ ဆံုး တန္ဖိုးကို ရွာၿပီးေတာ့ ပထမဆံုး အခန္းထဲမွာ ထည့္လိုက္တယ္။ ေနာက္တစ္ႀကိမ္ ဒုတိယ အခန္းကေန စၿပီးရွာမယ္။ အငယ္ဆံုး တန္ဖိုး ကို ဒုတိယ အခန္းထဲမွာ ထည့္မယ္။

def selection_sort(array): for num in range(len(array)): pos_of_min = num for loc in range(num,len(array)) : if array[loc] < array[pos_of_min]: pos_of_min = loc temp = array[num] array[num] = array[pos_of_min] array[pos_of_min] = temp return array alist = [1,20,31,444,8,9] print(selection_sort(alist))

code ေလးကို အရမ္းကို ရွင္းပါတယ္။ ပထမဆံုး အခန္းကို အငယ္ဆံုး တန္ဖိုးလို႔ သေဘာထားတယ္။ ၿပီးေတာ့ သူ႔ထက္ငယ္သည့္ array ရွိလားဆိုၿပီး ရွာတယ္။ ေတြ႕ခဲ့ရင္ အငယ္ဆံုး တန္ဖိုးရဲ႕ location ကို လဲလိုက္တယ္။ အကုန္လံုးၿပီးသြားခဲ့ရင္ array အခန္းကို ေနရာလဲလိုက္ပါတယ္။

Array ပံုစံက ေအာက္ကလို ေရႊ႕သြားပါမယ္။

[1, 20, 31, 444, 8, 9]
0: [1, 20, 31, 444, 8, 9]
1: [1, 8, 31, 444, 20, 9]
2: [1, 8, 9, 444, 20, 31]
3: [1, 8, 9, 20, 444, 31]
4: [1, 8, 9, 20, 31, 444]
5: [1, 8, 9, 20, 31, 444]

results matching ""

    No results matching ""