Partition function which will partition the array and into two parts
static int partition ( List < String > objects , int l , int r , Dictionary < String , int > hash ) { int j = l - 1 ; String temp ; int last_element = hash [ objects [ r ] ] ; for ( int i = l ; i < r ; i ++ ) {