Subscribe Twitter Facebook

Rabu, 01 Mei 2013

Program Sederhana Penggunaan Quick Sort

Ini adalah script program sederhan untuk pengaplikasian quick sort :


#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
void quickSort (int[], int);
void q_sort(int[], int, int);

void main ()
{
int NumList [8]= {5, 34, 32, 25, 75, 42, 22, 2};
   int temp;
   cout<<"Data Sebelum diurutkan : \n";
   for (int d=0; d<8; d++)
   {
    cout<<setw(3)<<NumList[d];
   }
   cout<<"\n\n";
   quickSort (NumList,8);
   cout<<"Data setelah durutkan: \n";
   for(int iii=0; iii<8; iii++)
   cout<<setw(3)<<NumList[iii]<<endl<<endl;
   getch();
}

void quickSort(int numbers[], int array_size)
{
q_sort(numbers, 0, array_size-1);
}
void q_sort(int numbers[], int left, int right)
{
int pivot, l_hold, r_hold;
   l_hold = left;
   r_hold = right;
   pivot = numbers[left];
   while (left< right)
   {
    while ((numbers[right] >= pivot) && (left < right))
      right--;
      if (left != right)
      {
      numbers[left] = numbers[right];
         left++;
      }
      while ((numbers[left] <= pivot) && (left<right))
      left++;
      if (left != right)
      {
      numbers [right] = numbers [left];
         right--;
      }
   }
   numbers [left] = pivot;
   pivot = left;
   left = l_hold;
   right = r_hold;
   if (left< pivot)
    q_sort(numbers, left, pivot-1);
   if (right > pivot)
    q_sort(numbers, pivot+1, right);
   }

Kemudian tampilan outputnya akan menjadi seperti ini :



Silahkan dicoba..

0 komentar:

Posting Komentar