C# - Selection Sort Algorithm

Posted by ေတဇာလင္း Sunday, 15 January 2017 0 comments

မိတ္ေဆြ၊ ညီအစ္ကို၊ ေမာင္ႏွမအားလံုး မဂၤလာပါ။ ဒီေန႔ေတာ့ က်ေနာ္တို႔ Microsoft Visual Studio C# ကို အသံုးျပဳၿပီးေတာ့ Sorting Algorithms ေတြထဲက တစ္ခုျဖစ္တဲ့ Selection Sort Algorithm အေၾကာင္း ေလးကို ေလ့လာၾကည့္မွာ ျဖစ္ပါတရ္ဗ်ာ။ Selection Sort ရဲ႕ အလုပ္လုပ္သြားတဲ့ လုပ္ငန္းစဥ္ မူၾကမ္းကို ေအာက္ကပံုမွာ ေလ့လာႏိုင္ပါတရ္ဗ်ာ။
အလုပ္လုပ္သြားတဲ့ လုပ္ငန္းစဥ္က ရိုးရွင္းပါတရ္။ အထက္ပါပံုကို ၾကည့္လိုက္တာနဲ႔ နားလည္ႏိုင္ၾကမွာပါ။ ပိုၿပီးနားလည္သြားေအာင္ က်ေနာ္ အနည္းငရ္ ရွင္းျပပါ့မရ္။ Selection Sort Algorithm ရဲ႕ Step တစ္ခုမွာ အဆင့္(4)ဆင့္ခြဲၿပီး အလုပ္လုပ္ပါတရ္။ ငယ္စဥ္ႀကီးလိုက္(ASC)အတြက္ က်ေနာ္ ဥပမာ ျပပါ့မရ္။ 1. ပထမအဆင့္မွာေတာ့ Unsorted Array ရဲ႕ ပထမ Index ကို key အျဖစ္သတ္မွတ္ပါတရ္။ 2. ဒုတိယအဆင့္အေနနဲ႔ key မွလြဲ၍ က်န္ Arrary အစုထဲမွ အငယ္ဆံုးကိန္း(Min)ကို ရွာပါတရ္။ 3. ဒီအဆင့္မွာေတာ့ အေပၚမွာ က်ေနာ္တို႔ ရွာခဲ့တဲ့ အငယ္ဆံုးကိန္း(Min)နဲ႔ key ကို ႏႈိင္းယွဥ္ပါတရ္။ key ကႀကီးေနရင္ Min နဲ႔ Key ကို ေနရာခ်င္း ခ်ိန္းပါတရ္။ ငယ္ေနရင္ေတာ့ ဒီအတိုင္း ဆက္ထားပါတရ္။ 4. အဆင့္တစ္ဆင့္ၿပီးတိုင္း Array ရဲ႕ ထိပ္ပိုင္းက်တဲ့ Index ေတြဟာ Sorted ျဖစ္ေနပါလိမ့္မရ္ဗ်။ နားလည္ႏိုင္ၾကလိမ့္မရ္လို႔ ထင္ပါတရ္။ အေပၚကပံုကိုၾကည့္ပါ။ Step 1 ၿပီးလို႔ Step 2 ေျပာင္းတဲ့ အခ်ိန္မွာ Array ရဲ႕ First Index ဟာ Sorted ျဖစ္ေနပါၿပီ။ ဒီလိုပါပဲ key ကလည္း ဒုတိယ Index ကို ခုန္သြားပါလိမ့္မရ္။ ေနာက္တစ္ဆင့္ Setp 2 ၿပီးလို႔ Step 3 ေျပာင္းတဲ့အခါမွာလည္း Array ရဲ႕ ေရွ႕ Index ႏွစ္ခုဟာ Sorted ျဖစ္ေနတာ ေတြ႔ရပါလိမ့္မရ္။ key ကလည္း ေနာက္ Index တစ္ခုကို ခုန္သြား မွာပါ။ ဒီလုပ္ငန္းစဥ္အတိုင္းပဲ Array ရဲ႕ ေနာက္ဆံုး Index အထိ loop ပါတ္ ေျဖရွင္းသြားမွာ ျဖစ္ပါတရ္။
စိတ္၀င္စားတဲ့ မိတ္ေဆြ၊ ညီအစ္ကို၊ ေမာင္ႏွမမ်ား က်ေနာ္နဲ႔အတူ ေလ့လာၾကည့္ၾကစို႔ဗ်ာ။
ွPDF ရဲ႕ SelectionSort() Function မွာ က်ေနာ္ ေဖာ္ျပခဲ့တဲ့ ပံုစံမွားေနပါတယ္ဗ်။ ေအာက္က ပံုစံအတိုင္း ျပင္ေရးလိုက္ပါဗ်။ အားလံုးအဆင္ေျပ ေခ်ာေမြ႕နိုင္ၾကပါေစ။

0 Responses so far.

Post a Comment