国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術干貨  > STL教程(十二):C++ STL常用查找算法

            STL教程(十二):C++ STL常用查找算法

            來源:千鋒教育
            發(fā)布人:syq
            時間: 2022-06-22 17:30:54 1655890254

              1、常用查找算法匯總

            1

              2、常用查找算法詳解

              2.1find算法

            /*

            find算法 查找元素

            @param beg 容器開始迭代器

            @param end 容器結束迭代器

            @param value 查找的元素

            @return 返回查找元素的位置

            */find(iterator beg, iterator end, value)

              案例:

            int main() { 

            vector<int> v1; 

            v1.push_back(10); 

            v1.push_back(50); 

            v1.push_back(30); 

            v1.push_back(40); 

            v1.push_back(20); 

             

            vector<int>::iterator ret; 

            ret = find(v1.begin(), v1.end(), 50); 

            if(ret != v1.end()) 

            cout<<"尋找到結果為:"<<*ret<<endl; 

            } }

            2.1

              2.2find_if算法

            /*

            find_if算法 條件查找

            @param beg 容器開始迭代器

            @param end 容器結束迭代器

            @param  callback 回調函數(shù)或者謂詞(返回bool類型的函數(shù)對象)

            @return bool 查找返回true 否則false

            */find_if(iterator beg, iterator end, _callback);

              案例:

            bool geaterThan30(int val){ 

            return val>30; } class GreaterThan30 { 

            public: 

            bool operator()(int val) 

            return val>30; 

            } }; 

            int main() { 

            vector<int> v1; 

            v1.push_back(10); 

            v1.push_back(50); 

            v1.push_back(30); 

            v1.push_back(40); 

            v1.push_back(20); 

             

            vector<int>::iterator ret; 

            //尋找大于30的數(shù)

            //ret = find_if(v1.begin(), v1.end(), bind2nd(greater<int>(), 30));

            //ret = find_if(v1.begin(), v1.end(), geaterThan30);

            ret = find_if(v1.begin(), v1.end(), GreaterThan30()); 

            if(ret != v1.end()) 

            cout<<"找到:"<<*ret<<endl; 

            } }

            2.2

              2.3adjacent_find算法

            /*

            adjacent_find算法 查找相鄰重復元素

            @param beg 容器開始迭代器

            @param end 容器結束迭代器

            @param  _callback 回調函數(shù)或者謂詞(返回bool類型的函數(shù)對象)

            @return 返回相鄰元素的第一個位置的迭代器

            */adjacent_find(iterator beg, iterator end, _callback);

              案例:

            int main() { 

            vector<int> v1; 

            v1.push_back(10); 

            v1.push_back(30); 

            v1.push_back(30); 

            v1.push_back(40); 

            v1.push_back(20); 

            v1.push_back(20); 

             

            vector<int>::iterator ret; 

            ret = adjacent_find(v1.begin(), v1.end()); 

            if(ret != v1.end()) 

            cout<<"找到:"<<*ret<<endl; 

            } }

            2.3

              2.4binary_search算法

            /*

            binary_search算法 二分查找法

            注意: 在無序序列中不可用

            @param beg 容器開始迭代器

            @param end 容器結束迭代器

            @param value 查找的元素

            @return bool 查找返回true 否則false

            */bool binary_search(iterator beg, iterator end, value);

              2.5count算法

            /*

            count算法 統(tǒng)計元素出現(xiàn)次數(shù)

            @param beg 容器開始迭代器

            @param end 容器結束迭代器

            @param  value回調函數(shù)或者謂詞(返回bool類型的函數(shù)對象)

            @return int返回元素個數(shù)

            */count(iterator beg, iterator end, value);

              案例:

            bool geaterThan30(int val){ 

            return val>30; } class GreaterThan30 { 

            public: 

            bool operator()(int val) 

            return val>30; 

            } }; 

            int main() { 

            vector<int> v1; 

            v1.push_back(10); 

            v1.push_back(30); 

            v1.push_back(30); 

            v1.push_back(40); 

            v1.push_back(20); 

            v1.push_back(30); 

            cout<<count(v1.begin(), v1.end(),30)<<endl; 

            }

            2.5

              2.6count_if算法

            /*

            count_if算法 統(tǒng)計元素出現(xiàn)次數(shù)

            @param beg 容器開始迭代器

            @param end 容器結束迭代器

            @param  callback 回調函數(shù)或者謂詞(返回bool類型的函數(shù)對象)

            @return int返回元素個數(shù)

            */count_if(iterator beg, iterator end, _callback);

              案例:

            int main() { 

            vector<int> v1; 

            v1.push_back(10); 

            v1.push_back(30); 

            v1.push_back(30); 

            v1.push_back(40); 

            v1.push_back(20); 

            v1.push_back(30); 

            cout<<count_if(v1.begin(), v1.end(),bind2nd(greater<int>(),20))<<endl; 

            }

             

            2.6

              更多關于“智能物聯(lián)網(wǎng)培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業(yè)需求,更科學更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

            tags:
            聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
            10年以上業(yè)內強師集結,手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
            免費領取
            今日已有369人領取成功
            劉同學 138****2860 剛剛成功領取
            王同學 131****2015 剛剛成功領取
            張同學 133****4652 剛剛成功領取
            李同學 135****8607 剛剛成功領取
            楊同學 132****5667 剛剛成功領取
            岳同學 134****6652 剛剛成功領取
            梁同學 157****2950 剛剛成功領取
            劉同學 189****1015 剛剛成功領取
            張同學 155****4678 剛剛成功領取
            鄒同學 139****2907 剛剛成功領取
            董同學 138****2867 剛剛成功領取
            周同學 136****3602 剛剛成功領取
            相關推薦HOT