日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STL_算法_区间的比較(equal、mismatch、 lexicographical_compare)

發布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STL_算法_区间的比較(equal、mismatch、 lexicographical_compare) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++ Primer 學習中。。

?

簡單記錄下我的學習過程?(代碼為主)


//全部容器適用


equal(b,e,b2) ? ? ? //用來比較第一個容器[b,e)和第二個容器b2開頭,是否相等
equal(b,e,b2,p)


mismatch(b,e,b2) ? ?//用來查找兩個容器中第一個不相等的數據,返回迭代器
mismatch(b,e,b2,p)


lexicographical_compare(b,e,b2,e2) ? ? ?//用來比較第一個區間是否比第二個區間小
lexicographical_compare(b,e,b2,e2,p)

#include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<list> #include<algorithm> using namespace std;/***************************************** //全部容器適用 equal(b,e,b2) //用來比較第一個容器[b,e)和第二個容器b2開頭。是否相等 equal(b,e,b2,p) mismatch(b,e,b2) //用來查找兩個容器中第一個不相等的數據,返回迭代器 mismatch(b,e,b2,p) lexicographical_compare(b,e,b2,e2) //用來比較第一個區間是否比第二個區間小 lexicographical_compare(b,e,b2,e2,p) *****************************************//************************************************************************************* std::equal 全部排序容器適用 algorithm -------------------------------------------------------------------------------------- template <class InputIterator1, class InputIterator2>bool equal ( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2 );template <class InputIterator1, class InputIterator2, class BinaryPredicate>bool equal ( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, BinaryPredicate pred );//eg: template <class InputIterator1, class InputIterator2>bool equal ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 ) {while ( first1!=last1 ){if (!(*first1 == *first2)) // or: if (!pred(*first1,*first2)), for pred versionreturn false;++first1; ++first2;}return true; } *************************************************************************************//************************************************************************************* std::mismatch 全部排序容器適用 algorithm -------------------------------------------------------------------------------------- template <class InputIterator1, class InputIterator2>pair<InputIterator1, InputIterator2>mismatch (InputIterator1 first1, InputIterator1 last1,InputIterator2 first2 );template <class InputIterator1, class InputIterator2, class BinaryPredicate>pair<InputIterator1, InputIterator2>mismatch (InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, BinaryPredicate pred );//eg: template <class InputIterator1, class InputIterator2>pair<InputIterator1, InputIterator2>mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 ) {while ( (first1!=last1) && (*first1==*first2) ) // or: pred(*first1,*first2), for the pred version{ ++first1; ++first2; }return make_pair(first1,first2); } *************************************************************************************/ /************************************************************************************* std::lexicographical_compare 全部排序容器適用 algorithm -------------------------------------------------------------------------------------- template <class InputIterator1, class InputIterator2>bool lexicographical_compare ( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2 );template <class InputIterator1, class InputIterator2, class Compare>bool lexicographical_compare ( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2,Compare comp ); //eg: template <class InputIterator1, class InputIterator2>bool lexicographical_compare ( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2 ) {while (first1!=last1){if (first2==last2 || *first2<*first1) return false;else if (*first1<*first2) return true;first1++; first2++;}return (first2!=last2); } *************************************************************************************/bool mypredicate (int i, int j) {return (i==j); }bool mycomp (char c1, char c2) {return tolower(c1)<tolower(c2); }int main() {//equal(b,e,b2) //用來比較第一個容器[b,e)和第二個容器b2開頭,是否相等//equal(b,e,b2,p)int myints[] = {20,40,60,80,100}; // myints: 20 40 60 80 100vector<int>myvector (myints,myints+5); // myvector: 20 40 60 80 100// using default comparison:if (equal (myvector.begin(), myvector.end(), myints))cout << "The contents of both sequences are equal." << endl;elsecout << "The contents of both sequences differ." << endl;myvector[3]=81; // myvector: 20 40 60 81 100// using predicate comparison:if (equal (myvector.begin(), myvector.end(), myints, mypredicate))cout << "The contents of both sequences are equal." << endl;elsecout << "The contents of both sequences differ." << endl;cout<<endl;/**-----------------------------------------------------------------------------Output:The contents of both sequences are equal.The contents of both sequences differ.-----------------------------------------------------------------------------**///mismatch(b,e,b2) //用來查找兩個容器中第一個不相等的數據,返回迭代器//mismatch(b,e,b2,p)list<int> mylist;for (int i=1; i<6; i++) mylist.push_back (i*10); // mylist: 10 20 30 40 50int myints2[] = {10,20,80,40,1024}; // myints2: 10 20 80 40 1024pair<list<int>::iterator,int*> mypair;// using default comparison:mypair = mismatch (mylist.begin(), mylist.end(), myints2);cout << "First mismatching elements: " << *mypair.first;cout << " and " << *mypair.second << endl;mypair.first++;mypair.second++;// using predicate comparison:mypair = mismatch (mypair.first, mylist.end(), mypair.second, mypredicate);cout << "Second mismatching elements: " << *mypair.first;cout << " and " << *mypair.second << endl;cout <<endl;/**-----------------------------------------------------------------------------Output:First mismatching elements: 30 and 80Second mismatching elements: 50 and 1024-----------------------------------------------------------------------------**///lexicographical_compare(b,e,b2,e2) //用來比較第一個區間是否比第二個區間小 (長度和ASCII碼)//lexicographical_compare(b,e,b2,e2,p)char first[]="apple"; // 5 letterschar second[]="apart"; // 5 letters eg:apartmentcout << "Using default comparison (operator<): ";if (lexicographical_compare(first,first+5,second,second+5))cout << first << " is less than " << second << endl;else if (lexicographical_compare(second,second+5,first,first+5))cout << first << " is greater than " << second << endl;elsecout << first << " and " << second << " are equivalent\n";cout << "Using mycomp as comparison object: ";if (lexicographical_compare(first,first+5,second,second+5,mycomp))cout << first << " is less than " << second << endl;else if (lexicographical_compare(second,second+5,first,first+5,mycomp))cout << first << " is greater than " << second << endl;elsecout << first << " and " << second << " are equivalent\n";/**-----------------------------------------------------------------------------Output:Using default comparison (operator<): apple is greater than apartUsing mycomp as comparison object: apple is greater than apart-----------------------------------------------------------------------------**/return 0; }

轉載于:https://www.cnblogs.com/cxchanpin/p/7289702.html

總結

以上是生活随笔為你收集整理的STL_算法_区间的比較(equal、mismatch、 lexicographical_compare)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产中文一区 | www天堂在线 | 2021av视频 | 欧美日韩亚洲色图 | 青青草视频成人 | 天天操欧美 | 少妇喷潮明星 | 黄色一级免费看 | 永久免费快色 | 亚洲高清视频在线 | 日韩三级中文 | 国产一区二区三区在线观看视频 | 久久久一区二区三区四区 | 欧美成人第一页 | 黄色www视频 | 激情女主播 | 成年人视频免费在线观看 | 欧美一区久久 | 91成人天堂久久成人 | 国产精品欧美一区喷水 | 亚洲18在线看污www麻豆 | 国产一级大片在线观看 | 狠狠干成人 | 99热一区二区三区 | 爱情岛论坛成人 | 日韩av不卡在线观看 | 美女流白浆视频 | 欧美无吗 | 舐め犯し波多野结衣在线观看 | 免费在线观看黄网站 | 懂色一区二区三区免费观看 | 韩国甜性涩爱 | 动漫精品一区一码二码三码四码 | 欧美一级黄色片子 | 国产成人无码精品久久 | 成人av网址在线 | 在线一区| 先锋影音av在线 | 日韩中文字幕国产 | 69影院在线观看 | 伊人88 | 伦伦影院午夜理伦片 | 91精品国产高清91久久久久久 | 久久99久久久 | 男生和女生操操 | 偷看洗澡一二三区美女 | 久久久看| 中文字幕欧美专区 | 亚洲国产黄色片 | 亚洲自啪| 久久精品夜色噜噜亚洲a∨ 中文字幕av网 | 99国产精品久久久 | 天天性综合 | 精品1区2区 | 无码专区久久综合久中文字幕 | 91在线观看免费视频 | 亚洲色图视频在线观看 | 激情春色网 | 亚洲手机在线观看 | 好吊视频一区二区 | 黄色男女网站 | 韩国美女主播跳舞 | caoporen在线| 精品一区二区三区免费毛片 | 超碰美女在线 | 国产午夜无码精品免费看奶水 | 香蕉av一区| 色网站观看 | 草草视频在线 | 国产福利精品在线观看 | 梦梦电影免费高清在线观看 | 国产九九九精品 | 午夜视频观看 | 国产又粗又长又黄的视频 | 国产91综合一区在线观看 | 成人写真福利网 | 日韩激情图片 | 老司机午夜性大片 | 九色91popny蝌蚪新疆 | 精品久久久久久亚洲精品 | 婷婷激情综合网 | 拔擦8x成人一区二区三区 | 人妻丰满熟妇无码区免费 | 精品欧美乱码久久久久久1区2区 | av九九九 | 五月av在线 | 青青成人在线 | 亚洲妇女体内精汇编 | 色哟哟网站 | 久久久久久国产精品免费免费 | 午夜寂寞福利 | 国产精品扒开做爽爽爽的视频 | 丁香七月婷婷 | 亚洲av无码潮喷在线观看 | 97爱爱爱 | 日本色妞 | 午夜网站在线 | 国产成人无码精品久久久久久 | 雨宫琴音一区二区三区 |