Inserts data into this using func to determine the new position.
| this |
a Queue |
| data |
the data to insert |
| func |
the CompareDataFunc used to compare elements in the queue. It is called
with two elements of the this and |
| user_data |
user data passed to |