Slytherin
سه شنبه 12 اردیبهشت 1391, 23:38 عصر
دوستان من در C++ خیلی خیلی خیلی تازه کار هستم.
این پیاده سازی الگوریتم سریع در C++ هست:
void quicksort(int array[] , int left , int right){
if (left < right){
int middle = partition(array , left , right) ;
quicksort(array , left , middle-1) ;
quicksort(array , middle+1 , right);
}
}
int partition(int array[] , int left , int right){
int middle ;
int x = array[left] ;
int l = left ;
int r = right ;
while(l < r){
while((array[l] <= x) && (l < right)) l++ ;
while((array[r] > x) && (r >= left)) r-- ;
if(l < r){
int temp = array[l];
array[l] = array[r];
array[r] = temp ;
}
}
middle = r ;
int temp = array[left];
array[left] = array[middle] ;
array[middle] = temp;
return middle ;
}
حالا چطوری میشه از این کدها در برنامه استفاده کرد و مثلا یک آرایه داد تا برنامه واسمون Sort کنه؟
اگر لطف کنید و به صورت کد مثال بزنید که واقعا ممنون میشم...
باتشکر:لبخندساده:
این پیاده سازی الگوریتم سریع در C++ هست:
void quicksort(int array[] , int left , int right){
if (left < right){
int middle = partition(array , left , right) ;
quicksort(array , left , middle-1) ;
quicksort(array , middle+1 , right);
}
}
int partition(int array[] , int left , int right){
int middle ;
int x = array[left] ;
int l = left ;
int r = right ;
while(l < r){
while((array[l] <= x) && (l < right)) l++ ;
while((array[r] > x) && (r >= left)) r-- ;
if(l < r){
int temp = array[l];
array[l] = array[r];
array[r] = temp ;
}
}
middle = r ;
int temp = array[left];
array[left] = array[middle] ;
array[middle] = temp;
return middle ;
}
حالا چطوری میشه از این کدها در برنامه استفاده کرد و مثلا یک آرایه داد تا برنامه واسمون Sort کنه؟
اگر لطف کنید و به صورت کد مثال بزنید که واقعا ممنون میشم...
باتشکر:لبخندساده: