مرتب سازی انتخابی (Selection Sort) در سی شارپ
سلام توسعه دهندگان گرامی در این سری از آموزش برنامه نویسی سی شارپ به آموزش مرتب سازی انتخابی (Selection Sort) در سی شارپ می پردازیم بزرگ ترین / کوچک ترین عضو را پیاده کرده و به آخر / ابتدا لیست منتقل می کند در ادامه با ما همراه باشید تا نحوه استفاده از مرتب سازی انتخابی (Selection Sort) در سی شارپ را یاد گیرید.
مرتبسازی انتخابی چیست ؟ / الگوریتم مرتب سازی انتخابی (Selection)
معمولاً اطلاعات و دادههای خامی که در اختیار برنامهنویس قرار دارد به صورت نامرتب هستند. مواقعی پیش میآید که لازم است این دادهها بر حسب فیلد خاصی مرتب بشوند؛ مانند لیست دانش آموزان بر حسب معدل، لیست کارمندان بر حسب شماره پرسنلی، لیست دفترچه تلفن بر حسب نام خانوادگی و… روشهای متعددی برای مرتبسازی وجود دارد. برای شروع روش مرتبسازی انتخابی (Selection Sort):
روش انتخابی اولین روشی است که به ذهن میرسد: بزرگترین رکورد بین رکوردهای لیست را پیدا میکنیم و به انتهای لیست انتقال میدهیم. از بقیه رکوردها بزرگترین را انتخاب میکنیم و انتهای لیست – کنار رکورد قبلی – قرار میدهیم و… مثلاً:
1 2 3 4 5 6 7 | ۰: ۹ ۱ ۶ ۴ ۷ ۳ ۵ ۱: ۵ ۱ ۶ ۴ ۷ ۳ ۹ ۲: ۵ ۱ ۶ ۴ ۳ ۷ ۹ ۳: ۵ ۱ ۳ ۴ ۶ ۷ ۹ ۴: ۴ ۱ ۳ ۵ ۶ ۷ ۹ ۵: ۳ ۱ ۴ ۵ ۶ ۷ ۹ ۶: ۱ ۳ ۴ ۵ ۶ ۷ ۹ |
در ادامه نحوه پیاده سازی آن را در سی شارپ برای شما قرار میدهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | using System; class Program { static void Main(string[] args) { int array_size = 10; int[] array = new int[10] { 100, 50, 20, 40, 10, 60, 80, 70, 90, 30 }; Console.WriteLine("The Array Before Selection Sort is: "); for (int i = 0; i < array_size; i++) { Console.WriteLine(array[i]); } int tmp, min_key; for (int j = 0; j < array_size - 1; j++) { min_key = j; for (int k = j + 1; k < array_size; k++) { if (array[k] < array[min_key]) { min_key = k; } } tmp = array[min_key]; array[min_key] = array[j]; array[j] = tmp; } Console.WriteLine("The Array After Selection Sort is: "); for (int i = 0; i < 10; i++) { Console.WriteLine(array[i]); } Console.ReadLine(); } } |
خروجی کد بالا
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | The Array Before Selection Sort is : 100 50 20 40 10 60 80 70 90 30 The Array After Selection Sort is : 10 20 30 40 50 60 70 80 90 100 |
موفق و پیروز باشید.