الگوریتم های sort در c#(قسمت اول)

ترجمه و آماده سازی: بهنام منتظر

برای درس ساختمان داده ها چند وقتی بود که دنبال الگوریتم های مرتب سازی یا همون sort می گشتم که با سی شارپ هم پیاده سازی شده باشه که بالا خره به یه جمع بندی کلی رسیدم که به نظرم اومد بد نبا شه برای استفاده بقیه روی وبلاگ بذارم.

الگوریتم های مرتب سازی به طور کلی به 7 دسته ی زیر تقسیم می شوند:

1- Bubble sort

2- Heap sort

3-Insertion  sort

4-Merge sort

5- Quick sort

6-Selection sort

7-Shell sort

که در این سری از مطالب بیشتر در مورد آن ها صحبت می شه .

1-Bubble sort:

این الگوریتم کند ترین الگوریتم موجود است.که در آن به مقایسه ی تک به تک عناصر با یکدیگر می پردازد و در صورت لزوم آن ها را جا به جا می کند . در واقع می توان گفت کاری که این الگوریتم می کند این است: اگر لیست عناصر را از بالا به پایین در نظر بگیریم این الگوریتم از پایین به بالا شروع به خواندن عنا صر می کند و مثل این که عددی که بزرگ تر است را داخل یک حباب می کند و این حباب تا جایی بالا می رود که دیگر عددی بزرگ تر از آن وجود نداشته باشد و این کار برای تک تک  عناصر انجام می شود.

تکه کد پیاده سازی این الگوریتم در زبان سی شارپ به صورت زیر می با شد:
<

// array of integers to hold values 

private int[] a = new int[100];

// number of elements in array

private int x;

// Bubble Sort Algorithm 

public void sortArray()
{
int i;

int j;

int temp;

for( i = (x - 1); i >= 0; i-- )
{
    for( j = 1; j <= i; j++ )
    {
     if( a[j-1] > a[j] )
     {
        temp = a[j-1];
        a[j-1] = a[j];
        a[j] = temp;
      }
    }    

  } 

}

این کد فقط برای آشنایی با Bubble sort می باشد و در صورت کپی پیست کردن احتمالا جواب نخواهد داد .

 

Advertisements

Posted on آوریل 27, 2010, in CSharp, آموزش, الگوریتم and tagged , , . Bookmark the permalink. ۱ دیدگاه.

  1. خیلی خیلی تشکر

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: