كد بهترين الگوريتم مرتب سازي (Quick_sort)
چند وقت پيش يكي از بچه هاي اين فروم سئوالي در مورد الگوريتم هاي مرتب سازي( Sort ) پرسيده بودند كه البته دوست خوبم آقاي Hamidreza_buddy مطالب ارزنده اي رو گذاشته بودند.
و ديدم بهتره كد بهترين الگوريتم مرتب سازي يعني quick_sort ( از مرتبه N Log N) رو اينجا بذارم ، شايد به درد كسي بخوره :46:
کد:
void sort(char a[][MAX],int left,int right)
{
if(left>=right) return;
int i=left,j=right;
while(i<j)
{
do i++;while(strcmp(a[i],a[left])<0 && i<right);
do j--;while(strcmp(a[j],a[left])>0);
if(i<j) swap(a[i],a[j]);
}
swap(a[left],a[j]);
sort(a,left,j);
sort(a,j+1,right);
}
:)