Implenting 3 stacks in array

How to implement three stack in one array (single dimentional) as efficiently as possible.

Ex array[i], array[i+2], array[i+4], ... can be used for stack 1
array[i+1], array[i+3], array[i+5], ... can be used for stack 2
array[N], array[N-1], array[N-2], ... can be used for stack 3, where N is the size of the array.
This is one implementation.

I want more efficient algorithm than this. With this approach 50% of the array space is wasted in worst case.

Implenting 3 stacks in array

whats the pratical use of such a data structure? could you explain?