宣告一個 map<string, int> 來存每一個編號的隊伍是哪個,Team Queue 可以使用一個二維陣列來實現。
需要宣告一個 map<int, int> 來存目前每一個隊伍在二維陣列中的位置,如果進行 ENQUEUE 的時候該隊伍的值為 0,則將一個新的一維陣列包含字串 Push_Back 到二維陣列中,並且將該隊伍的 map 值設定為二維陣列的大小也就是最後面。
進行 DEQUEUE 時就將二維陣列的 [0][0] 輸出並且將其刪除,每次刪除都要判斷第一個一維陣列還有沒有資料,如果沒有的話就將這個一維陣列刪除,並且要更新 Map 中的所有資料,可以使用 for(auto it:Map) 來更新資料。如果 it.second == 1 就代表這是剛剛刪掉的一維陣列,將其設為 0,如果不是 1 也不是 0 就將 Map 值 -1。