Many people misunderstand it for the first time.
They think if you choose last element then it is dividing the problem in to subproblems of size n-1 & 0 always & when you select middle one as pivot, it will always divide it in to two equal subproblems.
No, in Partition algorithm, that index will be returned which the right place for the pivot. That decides the way it is devided.
5 2 3 9 4 6 1
Suppose you select middle element as pivot. So 9 as pivot.
At the end of partition, 9 will be at it's right position. i.e last index of array.....
So the problem is divided in to subproblems of size n-1 & 0....
This is the worst case. O(n ^2)
When best case happens ?
After partition algorithm, if pivot goes to middle index then it divides the problem in to subproblems of size n/2 each. So best case happens.
So it depends on where the pivot goes after partition algorithm, not which element you choose.
Again, it is not about only one partition call.... Partition will be called many times too..