packagepriorityqueue// Pop removes one highest-priority item.func(queue*Queue[T])Pop()(T,bool){iflen(queue.items)==0{varzeroTreturnzero,false}last:=len(queue.items)-1top:=queue.items[0]queue.items[0]=queue.items[last]queue.items=queue.items[:last]iflen(queue.items)>0{queue.siftDown(0)}returntop,true}