سورس مرتب سازی سریع (++C)

جمعه 12 بهمن 1397
10:50
smartdevelop


#include
#include
#include
#include
void quickSort(int numbers[], int array_size);
void q_sort(int numbers[], int left, int right);
using namespace std;

void main(void)
{
    cout << "********************************************************" << endl;
    cout << "             smartdevelop.ir"<< endl;
    cout << "********************************************************"<< endl;
    const int n = 10;
    int X[n];

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

 

 

 

از کتابخانه های  iostream  و  conio.h  استفاه کنید

سورس : دانلود

 

 

 

 

 

 

 

 

 

 

 

 

 


ورود کاربران

خوش آمدید! لطفا وارد حساب خود شوید

رمز عبور را فراموش کرده‌اید؟
حساب کاربری ندارید؟

فراموشی رمز عبور

نام کاربری یا ایمیل خود را وارد کنید

یا

ثبت نام کاربران

در چند ثانیه حساب کاربری خود را بسازید

قبلا ثبت نام کرده‌اید؟

نظرات کاربران

دیدگاه خود را با ما در میان بگذارید