アフィリエイト広告を利用しています

広告

posted by fanblog

2018年02月10日

《その285》 ベクトル vector<> の基礎事項(5)


 ベクトル vector<> の基礎事項(5)

 等価演算子関係演算子

 今回の内容は、
等価演算子「 == 」「 != 」と、関係演算子「 < 」「 > 」「 <= 」「 >= 」が、
ベクトルオブジェクトを比較するときの判断の基準についてです。

 等価演算子については、
   オブジェクト a … { 10, 12, 18 }
   オブジェクト b … { 10, 12, 18 }
   オブジェクト c … { 10, 11, 18 , 10 }
であれば、
   a == b
   a != c
は、明らかです。

 次に、関係演算子についてです。
 上記の a と c を比較すると、
   a > c
となります。
最初に、先頭要素が比較されますが、これは共に 10 で同じです。
   a[0], c[0] は共に 10
次いで、2番目の要素が比較されます。
   a[1] は 12, c[1] は 11
この大小関係だけから、オブジェクト a が大きいという判断がなされます。

 このように、それぞれのオブジェクトの要素を先頭から順に比較して行き、値が一致しない場合があれば、その要素の大小関係をチェックします。そして、その大小関係が、そのままベクトルオブジェクトの大小関係ということになります。

   オブジェクト d … { 5, 5, 7, 8, 7, 9, 8, 6 }
   オブジェクト e … { 5, 5, 8, 0, 1 }
であれば、
   d < e
となります。要素の数や、要素の全体の様子は関係ありません。
オブジェクト d, e の要素が初めて一致しないのは、先頭から3番目の、
   d[2], e[2]
のときです。この2つの要素の比較で、d, e の大小が決まります。

 以下はプログラムです。

#include <vector>
#include <iostream>
using namespace std;

int main() {
int x[] = { 10, 12, 18 };
int y[] = { 10, 12, 18 };
int z[] = { 10, 11, 18 , 10 };

vector<int> a(x, x + sizeof(x) / sizeof(x[0]));
vector<int> b(y, y + sizeof(y) / sizeof(y[0]));
vector<int> c(z, z + sizeof(z) / sizeof(z[0]));

cout << "a[] … { ";
for (vector<int>::size_type i = 0; i < a.size(); i++)
cout << a[i] << ' ';
cout << "}\n";

cout << "b[] … { ";
for (vector<int>::size_type i = 0; i < b.size(); i++)
cout << b[i] << ' ';
cout << "}\n";

cout << "c[] … { ";
for (vector<int>::size_type i = 0; i < c.size(); i++)
cout << c[i] << ' ';
cout << "}\n";

cout << boolalpha;
cout << "a == b … " << (a == b) << '\n';
cout << "a != b … " << (a != b) << '\n';
cout << "a == c … " << (a == c) << '\n';
cout << "a != c … " << (a != c) << '\n';
cout << "a < c … " << (a < c) << '\n';
cout << "a > c … " << (a > c) << '\n';
cout << "a <= c … " << (a <= c) << '\n';
cout << "a >= c … " << (a >= c) << '\n';
}

f10_0005.png



この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/7301636
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


検索
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
プロフィール
こうすけさんの画像
こうすけ

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


×

この広告は30日以上新しい記事の更新がないブログに表示されております。