cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 容器的比较是基于容器内元素的比较 7 容器内元素必须有相应的关系运算符 8 list不能与vector作比较 9 容器类型必须一致,数据类型必须一致 10
1 /*cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 容器的比较是基于容器内元素的比较 7 容器内元素必须有相应的关系运算符 8 list不能与vector作比较 9 容器类型必须一致,数据类型必须一致 10 11 */ 12 13 #include <iostream> 14 #include <vector> 15 #include <list> 16 #include <deque> 17 18 using namespace std; 19 class Dog 20 { 21 //成员省略 22 //必须有>,>=,<,<=,==,!=重载,这些运算符才能使用。 23 24 }; 25 26 int main() 27 { 28 vector<int> ivec1; 29 vector<int> ivec2; 30 vector<int> ivec3; 31 vector<int> ivec4; 32 vector<int> ivec5; 33 vector<double> dvec; 34 35 list<string> slst1; 36 list<string> slst2; 37 38 vector<Dog> dogA; 39 vector<Dog> dogB; 40 //dogA.push_back(); 41 42 //if (dogA > dogB)//必须有运算符重载,才能使用 43 //{ 44 45 //} 46 47 ivec1.push_back(1); 48 ivec1.push_back(3); 49 ivec1.push_back(5); 50 ivec1.push_back(7); 51 ivec1.push_back(9); 52 ivec1.push_back(12); 53 54 ivec2.push_back(0); 55 ivec2.push_back(2); 56 ivec2.push_back(4); 57 ivec2.push_back(6); 58 ivec2.push_back(8); 59 ivec2.push_back(10); 60 ivec2.push_back(12); 61 62 ivec3.push_back(1); 63 ivec3.push_back(3); 64 ivec3.push_back(5); 65 66 ivec4.push_back(1); 67 ivec4.push_back(3); 68 ivec4.push_back(5); 69 ivec4.push_back(7); 70 71 ivec5.push_back(1); 72 ivec5.push_back(3); 73 ivec5.push_back(5); 74 ivec5.push_back(7); 75 ivec5.push_back(9); 76 ivec5.push_back(12); 77 78 if (ivec1 > ivec2)//数据按顺序比较,1比0大,所以ivec1大。 79 cout << "ivec1大!" << endl; 80 if (ivec1 != ivec2)//数据按顺序比较,1比0大,所以ivec1大。 81 cout << "ivec1和ivec2不相等!" << endl; 82 if (ivec1 == ivec5) 83 cout << "ivec5与ivec5相等" << endl; 84 if (ivec3 > ivec1) 85 cout << "ivec3大于ivce1" << endl; 86 if (ivec1 > ivec4) 87 cout << "ivec1大于ivec4" << endl; 88 89 90 return 0; 91 }