麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

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

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

來源:千鋒教育
發布人: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 回調函數或者謂詞(返回bool類型的函數對象)

@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的數

//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 回調函數或者謂詞(返回bool類型的函數對象)

@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算法 統計元素出現次數

@param beg 容器開始迭代器

@param end 容器結束迭代器

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

@return int返回元素個數

*/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算法 統計元素出現次數

@param beg 容器開始迭代器

@param end 容器結束迭代器

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

@return int返回元素個數

*/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

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

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師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
主站蜘蛛池模板: 国产福利第一视频| 美女让男人桶出水的网站| 久久精品一区二区三区不卡| 校园春色欧美| 99久久精品免费看国产一区二区三区 | 里番acg全彩本子在线观看| 最好看的免费观看视频 | 一本久久a久久精品亚洲| 久久精品国产欧美日韩99热 | 色成快人播电影网| 夫妇野外交换hd中文小说| 性感模特电影| 篠田优在线一区中文字幕| 男人j进女人p免费视频| 嗯啊用力视频| 又粗又黄又猛又爽大片免费| 榴莲榴莲榴莲榴莲官网| 国产福利电影| 看看镜子里我怎么玩你| 播五月婷婷| 884aa四虎在线| 最近高清日本免费| 欧美综合自拍亚洲综合图| 高嫁肉柳风车动漫| 巨胸动漫美女被爆羞羞视频| 日本大片免a费观看在线| 日韩欧美一及在线播放| 欧美高清在线精品一区| 日本一道在线观看| 村上里沙在线播放| 娇妻第一次被多p| 国产成人av在线影院| 日本夫妇交换| 男人j进女人j啪啪无遮挡动态| а√最新版在线天堂| 一级特黄aaa大片在| 中文字幕久久久久| heyzo在线播放| 成年片人免费www| 女人爽小雪又嫩又紧| 美女一级一级毛片|