esteftaats
دوشنبه 04 آذر 1392, 21:18 عصر
سلام دوستان یه تابع دارم که نمی دونم در چه حالتی خط آخر اجرا میشه.
یعنی :
quick(list,j+1,r);
چون خط یکی مونده به آخر تابع خودش رو فراخوانی می کنه پس حالتی داریم که خط آخر اجرا بشه؟
void quick (int list[], int L , int r)
{
int i,j,temp;
int pivot;
pivot=list[L];
I=L;
j=r + 1;
Do{
Do{
I++;
}while(list[i]<pivot)
Do{
j--;
}while(list[j]>pivot)
if(i<j)
swap(list[i],list[j]);
}while(i<j)
swap(list[j],pivot);
quick(list,L,i-1);
quick(list,j+1,r);
}
یعنی :
quick(list,j+1,r);
چون خط یکی مونده به آخر تابع خودش رو فراخوانی می کنه پس حالتی داریم که خط آخر اجرا بشه؟
void quick (int list[], int L , int r)
{
int i,j,temp;
int pivot;
pivot=list[L];
I=L;
j=r + 1;
Do{
Do{
I++;
}while(list[i]<pivot)
Do{
j--;
}while(list[j]>pivot)
if(i<j)
swap(list[i],list[j]);
}while(i<j)
swap(list[j],pivot);
quick(list,L,i-1);
quick(list,j+1,r);
}