برنامه مرتب سازی سریع به روش تقسیم و حل - QuickSort Program in Divide and Conquer
int A[100];
int Partition(int p, int q)
{
int v, i, Temp;
v=A[p];
i=p;
do
{
do
p++;
while(A[p]
q--;
while(A[q]>v);
if(p
{
Temp=A[p];
A[p]=A[q];
A[q]=Temp;
}
else
break;
}
while(1);
A[i]=A[q];
A[q]=v;
return q;
}
void QuickSort(int p, int q)
{
int j;
if(p
{
j=Partition(p, q+1);
QuickSort(p, j-1);
QuickSort(j+1, q);
}
}
void main()
{
int n, i, p=0, q;
printf("Please Enter Array Lengh: ");
scanf("%d", &q);
printf("\nPlease Enter %d Array Elements:\n", q);
for(i=0; i
{
printf("A[%d]: ", i+1);
scanf("%d", &A[i]);
}
QuickSort(p, q-1);
printf("\nThe Array After Sorting:\n");
for(i=0; i
printf("A[%d]: %d\n", i+1, A[i]);
printf("\n\n\n\n\n\n\nPrograqmming By: www.pinp.mihanblog.com");
getch();
{
منبع:Programming in Practice
نظرات شما عزیزان: