abstract stack and queue interface and one implement in C