use front <= rear in level order travel