کد مرتب سازی حبابی در پاسکال
 
شرکت پویا پردازش کاسپین
مهندسی کامپیوتر
برای اینکه به الگوریتم این نوع مرتب سازی آشنا شوید به لینک زیر مراجعه نمایید:

الگوریتم مرتب سازی حبابی(Bubble Sort)

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

قطعه کد زیر مرتب سازی حبابی را با استفاده از حلقه در یک آرایه ۱۰ عنصری انجام می دهد.

for i := 1 to 10 do
    for j := i + 1 to 10 do
      if list[i] < list[j] then
      begin
        temp := list[i];
        list[i] := list[j];
        list[j] := temp;
      end;

توضیحات: در قطعه کد بالا list یک آرایه ی ۱۰ عنصری است و i, j نیز متغیر های عددی هستند.

متغیر temp یک متغیر کمکی است تا بتوان توسط استفاده از آن دو خانه از آرایه را جابجا کنیم.


تابعی که مرتب سازی حبابی را انجام می دهد:

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

procedure BubbleSort(var list: array of Integer);
var
  i, j: Integer;
  temp: Integer;
begin
  for i := low(list) to High(list) do
    for j := i + 1 to high(list) do
      if list[i] < list[j] then
      begin
        temp := list[i];
        list[i] := list[j];
        list[j] := temp;
      end;
end;

توضیحات: در کد بالا ورودی یک آرایه ی پویا می باشد(به خاطر اینکه بتوانیم هر آرایه ای با هر تعداد خانه را مرتب سازی نماییم)

همچنین از کلمه ی کلیدی var برای ورودی پارامتر استفاده نموده ایم که هر تغییر آرایه در تابع درون آرایه ی اصلی نیز اعمال گردد.

از تابع low برای پیدا کردن کران پایین آرایه و از تابع high نیز برای پیدا کردن کران بالای آرایه استفاده نموده ایم.


برنامه کاملی که یک آرایه را از کاربر می خواند و آنرا مرتب نموده و نمایش می دهد:

program Sort;


procedure BubbleSort(var list: array of Integer);
var
  i, j: Integer;
  temp: Integer;
begin
  for i := low(list) to High(list) do
    for j := i + 1 to high(list) do
      if list[i] < list[j] then
      begin
        temp := list[i];
        list[i] := list[j];
        list[j] := temp;
      end;
end;


var
  a: array[1..10] of integer;
  i: Integer;

begin
  writeln('Please enter 10 numbers');
  for i := 1 to 10 do
    Readln(a[i]);

  BubbleSort(a);

  Writeln('Your sorted array is:');
  for i := 1 to 10 do
    Write(a[i]);
  Readln;

end.



نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:







           
13 فروردين 1392برچسب:, :: 20:58
مصطفی سیاهکالی

درباره وبلاگ


چه انتظار عجيبي !!! نه كوششي نه وفايي !!! فقط نشسته و گفتيم : خدا كند كه بيايي
آخرین مطالب
نويسندگان
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان شرکت پویا پردازش کاسپین و آدرس ppc.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.







ورود اعضا:

آمار وب سایت:  

بازدید امروز : 67
بازدید دیروز : 0
بازدید هفته : 67
بازدید ماه : 141
بازدید کل : 39438
تعداد مطالب : 74
تعداد نظرات : 0
تعداد آنلاین : 1