你在一間音樂串流公司工作。
你的任務是為你的音樂播放器應用程式打造播放清單功能。
寫一個音樂播放器應用程式的原型。
在這個原型中,每首歌只用一個數字來代表。 給定一段數字範圍(也就是歌曲 ID),請建立一個單向鏈結串列。
給定一個單向鏈結串列,你應該要能反轉這個串列,讓歌曲以相反的順序播放。
鏈結串列是電腦科學中一種基礎的資料結構,常用來實作其他資料結構。
最簡單的鏈結串列是單向鏈結串列。 這表示每個元素(或稱「節點」)都包含資料,以及某個指向串列中下一個節點的東西。
如果你想更深入了解鏈結串列,可以看看這篇文章,裡面用很棒的圖解說明了這個概念。
我們已經為你提供了List類別的整體結構。
它含有私有變數head(型別為Element*)和current_size(型別為size_t),你可以直接使用。
我們也提供了Element結構,它包含兩個變數:data(型別為int)與next(型別為Element*)。
詳細內容可以參考simple_linked_list.h。你不一定要修改這個檔案,但如果符合你的需求,也可以修改。
測試會使用simple_linked_list.cpp中提供的函式,請不要更改它們的簽章。如果你想的話,也可以新增更多函式和成員。
雖然標頭檔中包含裸指標,你仍然可以自由選擇不同的實作方式。