the quick_select function takes as parameters the index of the first element in the list as well as the last the ith element is specified by the third parameter values greater or equal to zero ( are allowed in such way that when is we know to search for the firstsmallest item in the list others like to treat the parameter so that it maps directly with the index that the user is searching forso that the first-smallest number maps to the index of sorted list it' all matter of preference method call to the partition functionsplit partition(array_listleftright)returns the split index this index of split array is the position in the unordered list where all elements between right to split- are less than the element contained in the array splitwhile all elements between split+ to left are greater when the partition function returns the split valuewe compare it with to find out if the split corresponds to the kth items if split is less than kthen it means that the kth-smallest item should exist or be found between split+ and rightin the preceding examplea split within an imaginary unordered list occurs at index while we are searching for the second-smallest number since < yields falsea recursive call to return quick_select(array_listleftsplit- kis made so that the other half of the list is searched