0

الگوریتم Quick Sort

 
rezahashemian1374
rezahashemian1374
کاربر برنزی
تاریخ عضویت : مهر 1391 
تعداد پست ها : 254
محل سکونت : تهران

الگوریتم Quick Sort
پنج شنبه 19 اردیبهشت 1392  1:06 PM

با سلام خدمت شما دوستان گرامی

الگوریتم Quick Sort  رو برای شما آماده کردم که امیدوارم به دردتون بخوره

 

 

 


#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void quickSort(int numbers[], int array_size);
void q_sort(int numbers[], int left, int right);
void main (void)
{
    const n = 10;
    int X[n];

    randomize();
    for (int i=0; i<n; i++)
    {
        X[i] = rand() % 100;
        cout << X[i] << "\t";
    }

    quickSort (X, n);

    cout<< endl;
    for (int i=0; i<n; i++)
        cout << X[i] << "\t";

    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);
}
 

Seyyed.Reza.Hashemian@Gmail.Com

دوستانی که سوالی دارند یا مایل به تماس هستند می توانند از اطلاعات بالا استفاده نمایند.

اگر هم تایپکی زدید و احتیاج به پاسخگویی سریع داشتید اطلاع دهید

تشکرات از این پست
دسترسی سریع به انجمن ها