C STL 鍊錶寫法

2021-09-10 09:08:43 字數 692 閱讀 2864

用 list 解決約瑟夫問題。

約瑟夫問題是:有 n 只猴子,按順時針方向圍成一圈選大王(編號為 1~n),從第 1 號開始報數,一直數到 m,數到 m 的猴子退到圈外,剩下的猴子再接著從 1 開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王。程式設計求輸入 n、m 後,輸出最後猴王的編號。

輸入資料:每行是用空格分開的兩個整數,第乙個是 n,第二個是 m(00 0

輸出要求:對於每行輸入資料(最後一行除外),輸出資料也是一行,即最後猴王的編號。

輸入樣例:

6 212 4

8 30 0

輸出樣例:

5

#include #include using namespace std;

int main()

it = monkeys.erase(it); //刪除元素後,迭代器失效,

//要重新讓迭代器指向被刪元素的後面

if (it == monkeys.end())

it = monkeys.begin();

}cout << monkeys.front() << endl; //front返回第乙個元素的引用

}return 0;

}

c stl的list(雙向鍊錶)

1.list初始化 1 listt 沒有任何元素 2 listt 10 建立有 10個元素的鍊錶 3 listt 10,3 建立有 10個元素的鍊錶,並且每個元素為3 2.對鍊錶進行插入操作 1 前插法 在鍊錶頭部插入新元素,鍊錶自動擴張,形式 t.push front 8 2 尾插法 在鍊錶尾部插...

C STL之雙向鍊錶list

一 list的基本使用以及耗時測試 include include qsort bsearch null includeusing namespace std const int size 100000 int main cout 插入1000000個元素耗時為 clock start endl c...

C STL之list雙向鍊錶容器

不同於採用線性表順序儲存結構的vector和deque容器,list雙向鍊錶中任一位置的元素查詢 插入和刪除,都具有高效的常數階演算法時間複雜度o 1 list技術原理 為了支援前向和反向訪問list容器的元素,list採用雙向迴圈的鍊錶結構組織資料元素,鍊錶的每個節點包括指向前驅的指標 實際資料和...