This isn't really a queue, but you can implement Min-Max Heap.
http://en.wikipedia.org/wiki/Min-max_heap
Basically, it's a heap which has it's max heap property at even levels, and min heap property at odd levels.
It has both O(1) MIN() and O(1) MAX() operations. However it's rather tricky to iterate, but it works and meets your requirements.