تبلیغات
برنامه نویسی با پاسکال - Data Sorting

ارائه سورس کد ها و پروژه های پاسکال تحت ویندوز!
صرفا جهت آموزش ، نه کپی برداری برای پروژه های دانشگاهی!

لطفا سورس کد های این وبلاگ را برای پرژه های دانشگاهی تون استفاده نکید ، واقعا هدف وبلاگ این نیست.
تمامی مسولیت کپی کردن و ارائه به استاد بر عهده شخص شماست نه نویسنده.

حسین

جستجو

 

Data Sorting

دوشنبه 2 شهریور 1388   12:53 ق.ظ


نوع مطلب : سورس کدهای پاسکال ،آموزش برنامه نویسی با پاسکال ،

Sorting Method #1: Bubble Sort

Procedure BubbleSort(numbers : Array of Integer; size : Integer);
Var i, j, temp : Integer;


Begin
   For i := size-1 DownTo 1 do
       For j := 2 to i do
           If (numbers[j-1] > numbers[j]) then
                Begin
                     temp := numbers[j-1];
                     numbers[j-1] := numbers[j];
                     numbers[j] := temp;
                End;

End.
 

Sorting Method #2: Insertion Sort

Procedure InsertionSort(numbers : Array of Integer; size : Integer);
Var i, j, index : Integer


Begin
For i := 2 to size-1 do
  Begin
   index := numbers[i];
   j := i;
   While ((j > 1) AND (numbers[j-1] > index)) do
    Begin
     numbers[j] := numbers[j-1];
     j := j - 1;
    End;
   numbers[j] := index;
  End;

End.

Sorting Method #3: Quick Sort

Procedure QSort(numbers : Array of Integer;
                left : Integer; right : Integer);
Var pivot, l_ptr, r_ptr : Integer;


Begin
l_ptr := left;
r_ptr := right;
pivot := numbers[left];
While (left < right) do
  Begin
   While ((numbers[right] >= pivot) AND (left < right)) do
    right := right - 1;
   If (left <> right) then
    Begin
     numbers[left] := numbers[right];
     left := left + 1;
    End;
  
While ((numbers[left] <= pivot) AND (left < right)) do
    left := left + 1;
   If (left <> right) then
    Begin
     numbers[right] := numbers[left];
     right := right - 1;
    End;
End;
numbers[left] := pivot;
pivot := left;
left := l_ptr;
right := r_ptr;
If (left < pivot) then
  QSort(numbers, left, pivot-1);
If (right > pivot) then
  QSort(numbers, pivot+1, right);
End;


نوشته شده توسط : حسین