- Notifications
You must be signed in to change notification settings - Fork1.2k
Open
Description
It is a good way to patition a deduplicated array , but if the unsorted array is[1,2,3,4,4,4,2,4,4,6,7]
, the function can't move2
to front.
I'd like to write a patition function like this:
functionpartition(array,left,right,compareFn){constpivot=array[Math.floor((right+left)/2)];letl=left;letr=right;leti=left;while(i<=r){if(compareFn(array[i],pivot)===Compare.LESS_THAN){swap(array,i,l);i++;l++;}elseif(compareFn(array[i],pivot)===Compare.BIGGER_THAN){swap(arr,i,r);r--;}else{i++;}}// return [l, r];returnl;}
PS:I learned a lot from your book, thank you~
Metadata
Metadata
Assignees
Labels
No labels