queue struct implemented by array