got it!!! yay! :D
entering condition: l=0,h=5,mid=2
left block: right block:
partition(arr,0,2) {takes 0,2 to next iteration, prints it} partition(arr,3,5) {takes 3,5 to next iteration, prints it}
L: partition(low=0,mid=1) R:partition(mid+1=2,2) L: partition(3,4) R:partition(5,5)
{this goes on to {this loop terminates {this makes {terminates with printing 5,5}
make further calls by printing 2,2} another call
affecting both L,R blocks} affecting L,R blocks again}
. . . .
. . . .
so on...
thus, each left and right block division also has an effect on the other block... resulting in the printing of the low=high terms.
i got it :)
thanks for pointing out the key @deceptikon :)