C++初心者です.
最近,やってみたいことがあってC++を勉強し始めました.
普段はPythonを使って研究活動に励んでいます.
実現したいこと
本題です.
Pythonにおいて,リストにリストを挿入する際,
python
1>>> lst = [1, 2, 3] 2>>> lst2 = [3, 4] 3>>> lst.append(lst2) 4[1, 2, 3, [3, 4]]
と書くことができると思うのですが,C++でこのようなリストは実装することは可能なのでしょうか.
また,リストの中身を
[1, 2, 3, [3, 4]]
と表示することは可能なのでしょうか.
試してみたこと
c++
1#include <iostream> 2#include <fstream> 3#include <list> 4 5int main(void) { 6 int len = 3; // original list size 7 8 list<int> lst; 9 for (int i = 0; i < len; i++) { 10 lst.push_back(i); 11 } // filled an array from 1 to 3 12 13 list<int> lst2 = {3, 4}; // want to add 14 15 lst.splice(lst.end(), lst2); 16 cout << lst.size() << endl; 17 18 /* want to print */ 19 20 return 0; 21}
list
がもつsplice
メソッドを使用してリスト同士を連結するという実装を試してみたのですが,サイズを確認してみたところ,5となったので,
[1, 2, 3, 3, 4]
となっていると考えられます.
これでは使用仕様を満たしていないので,困り果ててしまいました.
補足情報
- C++11以上の実装でも構いませんし,ライブラリの仕様についても特に制約はないものと考えていただいて大丈夫です.
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/23 06:55
2018/10/23 07:01