مرتب سازی درجی (Insertion Sort) در سی شارپ
سلام توسعه دهندگان گرامی در این سری از آموزش برنامه نویسی سی شارپ به آموزش مرتب سازی درجی (Insertion Sort) در سی شارپ می پردازیم در واقع مرتب سازی درجی (Insertion Sort) عمل جابه جایی و درج دوباره برای این الگوریتم صورت می گیرید در ادامه با ما همراه باشید تا نحوه استفاده از مرتب سازی درجی (Insertion Sort) در سی شارپ را یاد گیرید.
الگوریتم مرتب سازی درجی (Insertion Sort)
در مرتبسازی درجی، ابتدا عنصر دوم با عنصر اول لیست مقایسه میشود و در صورت لزوم با عنصر اول جابجا میشود بهطوریکه عناصر اول و دوم تشکیل یک لیست مرتب دوتایی را بدهند. سپس عنصر سوم به ترتیب با دو عنصر قبلی خود یعنی عناصر دوم و اول مقایسه و درجای مناسبی قرار میگیرد بهطوریکه عناصر اول و دوم و سوم تشکیل یک لیست مرتب سه تایی را بدهند.سپس عنصر چهارم به ترتیب با سه عنصر قبلی خود یعنی عنصرسوم و دوم و اول مقایسه و درجای مناسب قرار میگیرد بهطوریکه عناصر اول و دوم و سوم و چهارم تشکیل یک لسیت مرتب چهارتایی را بدهند و این کار تا انهای لیست انجام می پذیرید.
از شکل زیر برای درک بهتر الگوریتم مرتب سازی درجی (Insertion Sort) می توانید استفاده کنید.
در ادامه نحوه پیاده سازی این الگوریتم را در سی شارپ برای شما قرار می دهیم.
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 36 37 38 39 40 41 42 43 44 45 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] arr = new int[5] { 83, 12, 3, 34, 60 }; int i; Console.WriteLine("The Array is :"); for (i = 0; i < 5; i++) { Console.WriteLine(arr[i]); } insertsort(arr, 5); Console.WriteLine("The Sorted Array is :"); for (i = 0; i < 5; i++) Console.WriteLine(arr[i]); Console.ReadLine(); } static void insertsort(int[] data, int n) { int i, j; for (i = 1; i < n; i++) { int item = data[i]; int ins = 0; for (j = i - 1; j >= 0 && ins != 1; ) { if (item < data[j]) { data[j + 1] = data[j]; j--; data[j + 1] = item; } else ins = 1; } } } } } |
خروجی کد بالا همانند زیر خواهد بود.
1 2 3 4 5 6 7 8 9 10 11 12 | The Array is : 83 12 3 34 60 The Sorted Array is : 3 12 34 60 83 |
این آموزش هم به پایان رسید.
موفق و پیروز باشیید.