資源描述:
《c++實(shí)用實(shí)用標(biāo)準(zhǔn)實(shí)用實(shí)用模板庫算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實(shí)用標(biāo)準(zhǔn)文案STL中的所有算法(70個(gè))STL算法部分主要由頭文件,,組成。要使用STL中的算法函數(shù)必須包含頭文件,對(duì)于數(shù)值算法須包含,中則定義了一些模板類,用來聲明函數(shù)對(duì)象。STL中算法大致分為四類:1、非可變序列算法:指不直接修改其所操作的容器內(nèi)容的算法。2、可變序列算法:指可以修改它們所操作的容器內(nèi)容的算法。3、排序算法:包括對(duì)序列進(jìn)行排序和合并的算法、搜索算法以及有序序列上的集合操作。4、數(shù)
2、值算法:對(duì)容器內(nèi)容進(jìn)行數(shù)值計(jì)算。以下對(duì)所有算法進(jìn)行細(xì)致分類并標(biāo)明功能:<一>查找算法(13個(gè)):判斷容器中是否包含某個(gè)值adjacent_find:在iterator對(duì)標(biāo)識(shí)元素范圍內(nèi),查找一對(duì)相鄰重復(fù)元素,找到則返回指向這對(duì)元素的第一個(gè)元素的ForwardIterator。否則返回last。重載版本使用輸入的二元操作符代替相等的判斷。binary_search:在有序序列中查找value,找到返回true。重載的版本實(shí)用指定的比較函數(shù)對(duì)象或函數(shù)指針來判斷相等。count:利用等于操作符,把標(biāo)志范圍內(nèi)的元素與輸入值比較,返回相
3、等元素個(gè)數(shù)。count_if:利用輸入的操作符,對(duì)標(biāo)志范圍內(nèi)的元素進(jìn)行操作,返回結(jié)果為true的個(gè)數(shù)。equal_range:功能類似equal,返回一對(duì)iterator,第一個(gè)表示lower_bound,第二個(gè)表示upper_bound。find:利用底層元素的等于操作符,對(duì)指定范圍內(nèi)的元素與輸入值進(jìn)行比較。當(dāng)匹配時(shí),結(jié)束搜索,返回該元素的一個(gè)InputIterator。find_end:在指定范圍內(nèi)查找"由輸入的另外一對(duì)iterator標(biāo)志的第二個(gè)序列"的最后一次出現(xiàn)。找到則返回最后一對(duì)的第一個(gè)ForwardIterat
4、or,否則返回輸入的"另外一對(duì)"的第一個(gè)ForwardIterator。重載版本使用用戶輸入的操作符代替等于操作。find_first_of:在指定范圍內(nèi)查找"由輸入的另外一對(duì)iterator標(biāo)志的第二個(gè)序列"中任意一個(gè)元素的第一次出現(xiàn)。重載版本中使用了用戶自定義操作符。find_if:使用輸入的函數(shù)代替等于操作符執(zhí)行find。lower_bound:返回一個(gè)ForwardIterator,指向在有序序列范圍內(nèi)的可以插入指定值而不破壞容器順序的第一個(gè)位置。重載函數(shù)使用自定義比較操作。upper_bound:返回一個(gè)Forwa
5、rdIterator,指向在有序序列范圍內(nèi)插入value而不破壞容器順序的最后一個(gè)位置,該位置標(biāo)志一個(gè)大于value的值。重載函數(shù)使用自定義比較操作。search:給出兩個(gè)范圍,返回一個(gè)ForwardIterator,查找成功指向第一個(gè)范圍內(nèi)第一次出現(xiàn)子序列(第二個(gè)范圍)的位置,查找失敗指向last1。重載版本使用自定義的比較操作。search_n:在指定范圍內(nèi)查找val出現(xiàn)n次的子序列。重載版本使用自定義的比較操作。精彩文檔實(shí)用標(biāo)準(zhǔn)文案<二>排序和通用算法(14個(gè)):提供元素排序策略inplace_merge:合并兩個(gè)有序
6、序列,結(jié)果序列覆蓋兩端范圍。重載版本使用輸入的操作進(jìn)行排序。merge:合并兩個(gè)有序序列,存放到另一個(gè)序列。重載版本使用自定義的比較。nth_element:將范圍內(nèi)的序列重新排序,使所有小于第n個(gè)元素的元素都出現(xiàn)在它前面,而大于它的都出現(xiàn)在后面。重載版本使用自定義的比較操作。partial_sort:對(duì)序列做部分排序,被排序元素個(gè)數(shù)正好可以被放到范圍內(nèi)。重載版本使用自定義的比較操作。partial_sort_copy:與partial_sort類似,不過將經(jīng)過排序的序列復(fù)制到另一個(gè)容器。partition:對(duì)指定范圍內(nèi)元素
7、重新排序,使用輸入的函數(shù),把結(jié)果為true的元素放在結(jié)果為false的元素之前。random_shuffle:對(duì)指定范圍內(nèi)的元素隨機(jī)調(diào)整次序。重載版本輸入一個(gè)隨機(jī)數(shù)產(chǎn)生操作。reverse:將指定范圍內(nèi)元素重新反序排序。reverse_copy:與reverse類似,不過將結(jié)果寫入另一個(gè)容器。rotate:將指定范圍內(nèi)元素移到容器末尾,由middle指向的元素成為容器第一個(gè)元素。rotate_copy:與rotate類似,不過將結(jié)果寫入另一個(gè)容器。sort:以升序重新排列指定范圍內(nèi)的元素。重載版本使用自定義的比較操作。sta
8、ble_sort:與sort類似,不過保留相等元素之間的順序關(guān)系。stable_partition:與partition類似,不過不保證保留容器中的相對(duì)順序。<三>刪除和替換算法(15個(gè))copy:復(fù)制序列copy_backward:與copy相同,不過元素是以相反順序被拷貝。iter_s