2011-01-08 9 views
0

整数のコンテナ(配列のような)が必要です。与えられたxとyとzは、xとyの間に挿入する必要があり、それらの間にzを挿入することができます。 xとyは、xがyの左に置かれたときに取得します。コンテナがC++に必要です

+2

'x'と' y'の間に 'z'を置く必要があると判断するルールは何ですか? –

+0

ああ、今私は理解していると思う。基本的に要素を任意の順序で入れたいと思ったら、 'a'が' b'の前に来るかどうかを素早く調べたいでしょうか?要素の順序が定義し、要素を比較するのに使用できる順序付けができるようにするには? – sth

+0

この宿題はありますか? –

答えて

1

さてあなたはstd::set<int>を使用することができます。それは常にあなたの要素を注文し続けるでしょう。

1

まあ、ベクトルを使用してください。

このようなものです。

vector<int> v; 
v.push_back(x); 
v.push_back(y); 
vector<int> :: iterator it = v.begin(); 
v.insert(it + 1, z); 

はこちらをご覧:http://www.cplusplus.com/reference/stl/vector/insert/

+0

もしベクトルが100の大きさで、x、y、zが与えられていれば、そのような方法でzを挿入するのは効果的ではありません.... x - itに反復子が見つかるまで実行する必要があるからです。次に、insert-insert(it + 1、z)を作成します。 – Yakov

関連する問題