~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
算法 |
返回值 |
作用 |
equal() |
bool |
比較兩個容器數值是否相等 |
equal_range() |
pair<_FwdIt, _FwdIt> |
找出搜尋值最佳插入位置 |
equal()的參數 |
_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _InIt2 _Last2 |
|
equal_range()的參數 |
_FwdIt _First, _FwdIt _Last,const _Ty& _Val |
//創建容器
vector<int> createStaticArr()
{
vector<int> vectorInt;
vectorInt.push_back(1); vectorInt.push_back(2);
vectorInt.push_back(3); vectorInt.push_back(4);
vectorInt.push_back(5); vectorInt.push_back(6);
vectorInt.push_back(7); vectorInt.push_back(8);
showArr(vectorInt);
return vectorInt;
}
vector<int> createStaticArrTwo()
{
vector<int> vectorInt;
vectorInt.push_back(1); vectorInt.push_back(2);
vectorInt.push_back(3); vectorInt.push_back(4);
vectorInt.push_back(5); vectorInt.push_back(9);
vectorInt.push_back(8); vectorInt.push_back(7);
showArr(vectorInt); return vectorInt;
}
//輸出數組
void showArr(vector<int> Arr)
{
vector<int>::iterator iteArr = Arr.begin();
for (iteArr ; iteArr != Arr.end(); iteArr++)
{
cout << *iteArr << "\t";
}
cout << endl;
}
//比較
bool my_equal(vector<int> left, vector<int> right)
{
return equal(left.begin(), left.end(), right.begin(), right.end());
}
void main()
{
cout << "第一條:"; vector<int> arr1 = createStaticArr();
cout << "第二條:"; vector<int> arr2 = createStaticArr();
//使用equal()方法進行比較
bool my_bool = my_equal(arr1, arr2);
if (my_bool)
{
cout << "一致" << endl;
}
else
{
cout << "不一致" << endl;
}
vector<int> arr3 = createStaticArrTwo();
//排序
sort(arr3.begin(), arr3.end());
cout << "第三條:"; showArr(arr3);
//使用equal_range()方法
pair<vector<int>::iterator, vector<int>::iterator> my_range = equal_range(arr3.begin(), arr3.end(), 3);
cout << *my_range.first << endl;
cout << *my_range.second << endl;
}//輸出結果: