اینم یه برنامه که ابتدا طول آرایه رو مشخص میکنید و سپس عناصر اونو از ورودی میگیره و با مرتب سازی سریع، به صورت صعودی مرتب میکنه و نمایش میده. که این برنامه رو دوست عزیزم LOgiCeR k3nTo نوشتن.
- برچسب ها: quick sort، مرتب سازی سریع، سورس مرتب سازی، آرایه، مرتب سازی آرایه ها، Sort، Array sort،

تابع مرتب سازی سریع(Quick Sort) که متوسط عملکرد آن O(n log n) است:
void quickSort(int x[], int left, int right)
{
int i = left, j = right;
int tmp;
int pivot = x[(left + right) / 2];
while (i <= j)
{
while (x[i] < pivot)
i++;
while (x[j] > pivot)
j--;
if (i <= j)
{
tmp = x[i];
x[i] = x[j];
x[j] = tmp;
i++;
j--;
}
}
if (left < j)
quickSort(x, left, j);
if (i < right)
quickSort(x, i, right);
}
//end
{
int i = left, j = right;
int tmp;
int pivot = x[(left + right) / 2];
while (i <= j)
{
while (x[i] < pivot)
i++;
while (x[j] > pivot)
j--;
if (i <= j)
{
tmp = x[i];
x[i] = x[j];
x[j] = tmp;
i++;
j--;
}
}
if (left < j)
quickSort(x, left, j);
if (i < right)
quickSort(x, i, right);
}
//end
- برچسب ها: function، Sort، Quick sort، سریع، quick، مرتب سازی سریع، مرتب سازی، آرایه، تابع، array،
- کل صفحات:0
تبلیغات
