مرتب سازی انتخابی (Selection Sort) در سی شارپ

سلام توسعه دهندگان گرامی در این سری از آموزش برنامه نویسی سی شارپ به آموزش مرتب سازی انتخابی (Selection Sort) در سی شارپ می پردازیم بزرگ ترین / کوچک ترین عضو را پیاده کرده و به آخر / ابتدا لیست منتقل می کند  در ادامه با ما همراه باشید تا نحوه استفاده از مرتب سازی انتخابی (Selection Sort) در سی شارپ را یاد گیرید.
 

مرتب‌سازی انتخابی چیست ؟ / الگوریتم مرتب سازی انتخابی (Selection)

معمولاً اطلاعات و داده‌های خامی که در اختیار برنامه‌نویس قرار دارد به صورت نامرتب هستند. مواقعی پیش می‌آید که لازم است این داده‌ها بر حسب فیلد خاصی مرتب بشوند؛ مانند لیست دانش آموزان بر حسب معدل، لیست کارمندان بر حسب شماره پرسنلی، لیست دفترچه تلفن بر حسب نام خانوادگی و… روش‌های متعددی برای مرتب‌سازی وجود دارد. برای شروع روش مرتب‌سازی انتخابی (Selection Sort):
روش انتخابی اولین روشی است که به ذهن می‌رسد: بزرگ‌ترین رکورد بین رکوردهای لیست را پیدا می‌کنیم و به انتهای لیست انتقال می‌دهیم. از بقیه رکوردها بزرگ‌ترین را انتخاب می‌کنیم و انتهای لیست – کنار رکورد قبلی – قرار می‌دهیم و… مثلاً:

۰:  ۹ ۱ ۶ ۴ ۷ ۳ ۵
۱:  ۵ ۱ ۶ ۴ ۷ ۳ ۹
۲:  ۵ ۱ ۶ ۴ ۳ ۷ ۹
۳:  ۵ ۱ ۳ ۴ ۶ ۷ ۹
۴:  ۴ ۱ ۳ ۵ ۶ ۷ ۹
۵:  ۳ ۱ ۴ ۵ ۶ ۷ ۹
۶:  ۱ ۳ ۴ ۵ ۶ ۷ ۹

در ادامه نحوه پیاده سازی آن را در سی شارپ برای شما قرار میدهیم.

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();
    }
}

خروجی کد بالا

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

 
موفق و پیروز باشید.

مطالعه بیشتر