程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> STL中的算法小結

STL中的算法小結

編輯:C++入門知識

 ()要運用STL的算法,首先必須包含頭文件<algorithm>,某些STL算法用於數值處理,因此被定義於頭文件<numeric>
 
 (  
 (  
 (       
 ( difference_type count (InputIterator beg, InputIterator end,  T&       6關聯式容器(/multiset,map/  
 (      2上述無op參數版本以operator<     
 ( InputIterator find (InputIterator beg, InputIterator end,  T&        7關聯式容器(/multiset,map/  
 InputIterator search_n (InputIterator beg, InputIterator end, Size count,  T& InputIterator search_n (InputIterator beg, InputIterator end, Size count,  T&       
          
          
          
         
          
 pair<InputIterator1, InputIterator2> pair<InputIterator1, InputIterator2>         
    2第一形式使用operator<
     
 (              
 (        
        
 (        
 (  fill (ForwardIterator beg, ForwardIterator end,  T&  fill_n (OutputIterator beg, Size num,  T&     
       
 (  replace (ForwardIterator beg, ForwardIterator end,  T& oldValue,  T&  replace_if (ForwardIterator beg, ForwardIterator end, UnaryPredicate op,  T&     
 OutputIterator replace_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg,  T& oldValue,  T& OutputIterator replace_copy_if (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, UnaryPredicate op,  T&      
 ( ForwardIterator remove (ForwardIterator beg, ForwardIterator end,  T&            
 OutputIterator remove_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg,  T&        
              
        
 (         
  1將區間[beg, end)內的元素進行旋轉,執行後*   
   2將源區間[sourceBeg, sourceEnd)內的元素復制到以destBeg起始的目標區間中,同時旋轉元素使*      
       
   random_shuffle (RandomAccessIterator beg, RandomAccessIterator end, RandomFunc&   3注意op是一個non-  
         
 (     1sort()和stable_sort()的上述第一形式使用operator<     6時間復雜度:sort():O(nlgn),stable_sort()當系統有足夠的內存時為O(nlgn)、不足時為O(nlgn* 
   1上述第一形式使用operator<      
        
    2上述第一形式使用operator<    
 (       
   1兩種形式都將end之前的最後一個元素加入原本就是個heap的[beg, end-  3調用者必須保證進入函數時,區間[beg, end-  
   1以上兩種形式都將heap[beg, end)內的最高元素也就是第一個元素移動到最後的位置上,並將剩余區間[beg, end-    
        
 (  binary_search (ForwardIterator beg, ForwardIterator end,  T&  binary_search (ForwardIterator beg, ForwardIterator end,  T&      
       
 ForwardIterator lower_bound (ForwardIterator beg, ForwardIterator end,  T& ForwardIterator lower_bound (ForwardIterator beg, ForwardIterator end,  T& 
 ForwardIterator upper_bound (ForwardIterator beg, ForwardIterator end,  T& ForwardIterator upper_bound (ForwardIterator beg, ForwardIterator end,  T&         
 pair<ForwardIterator, ForwardIterator> equal_range (ForwardIterator beg, ForwardIterator end,  T& pair<ForwardIterator, ForwardIterator> equal_range (ForwardIterator beg, ForwardIterator end,  T&       
 (               
              
             
             
             
     
 ( 運用數值算法需要包含頭文件:#include<numeric>
 
   1第一形式計算initValue和區間[beg, end)內的所有元素總和,具體地說它針對每一個元素調用initValue+= 2第二形式計算initValue和區間[beg, end)內每一個元素進行op運算的結果,具體地說它針對每一個元素調用initValue=   
   1第一形式計算並返回[beg1, end1)區間和以beg2為起始的區間的對應元素組(再加上initValue)的內積。具體地說針對兩區間內的每一組對應元素調用initValue=initValue+elem1* 2第二形式將[beg1, end1)區間和以beg2為起始的區間的對應元素組進行op2運算再和initValue進行op1運算並將結果返回。具體地說針對兩區間內的每一組對應元素調用initValue=     
     3對於數列a1 a2 a3 ……它們分別計算a1, a1+a2, a1+a2+       
      4對於數列a1 a2 a3 a4……它們分別計算a1, a2-a1, a3-a2,a4-      10時間復雜度:線性

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved