freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[其它技巧]類模板(編輯修改稿)

2025-02-15 09:47 本頁面
 

【文章內(nèi)容簡介】 heap))算法與算法與 STL容器類之間容器類之間 是通過迭代子來進行溝通的,算法面向迭代子,迭是通過迭代子來進行溝通的,算法面向迭代子,迭代子則面向容器類代子則面向容器類 , 對于對于 迭代子迭代子 ,可以將它理解為一個指針,通過它我們,可以將它理解為一個指針,通過它我們可以獲得容器內(nèi)部的數(shù)據(jù)對象,然后算法對這個由迭代子獲得的對象進行可以獲得容器內(nèi)部的數(shù)據(jù)對象,然后算法對這個由迭代子獲得的對象進行操作。操作。STL的主要算法有:的主要算法有: C++語言標準類庫提供了語言標準類庫提供了 向量容器向量容器 ,向量既有象數(shù)組一樣可以對容器內(nèi)部,向量既有象數(shù)組一樣可以對容器內(nèi)部對象進行直接訪問的特點,也有類似于鏈表可以對容器內(nèi)部對象進行順序?qū)ο筮M行直接訪問的特點,也有類似于鏈表可以對容器內(nèi)部對象進行順序訪問的特點,同時向量具有動態(tài)特征,所以訪問的特點,同時向量具有動態(tài)特征,所以 C++語言中的向量容器語言中的向量容器 具有數(shù)具有數(shù)組和鏈表兩者的優(yōu)點組和鏈表兩者的優(yōu)點 。向量模板類中較為重要的成員函數(shù)有向量模板類中較為重要的成員函數(shù)有 begin、 end、 insert、 erase 、 operator[][] 等。等。iterator insert(iterator it, const Tamp。 x = T())。 //將將 x復制到復制到 it位置之前位置之前void insert(iterator it, sizetype n, const Tamp。 x)。 //將將 n個個 x復制到復制到 it位置之前位置之前void insert(iterator it, constiterator first, constiterator last)。 //將將 first和和 last //之間的對象復制到之間的對象復制到 it位置之前位置之前iterator erase(iterator it)。 //移走移走 it位置的對象位置的對象iterator erase(iterator first, iterator last)。 //移走移走 first到到 last之間的對象之間的對象用法如下:用法如下: begin返回指向該向量的返回指向該向量的第一個對象的迭代子。第一個對象的迭代子。end返回一個指向向返回一個指向向量末尾值的迭代子。量末尾值的迭代子。insert和和 erase是向量類的是向量類的插入和刪除方法。插入和刪除方法。【【 向量向量 】】向量應用舉例向量應用舉例 (一一 )//include iostreaminclude numericinclude vectorinclude iteratorusing namespace std。int main (){ 說明一下說明一下 copy和和 accumulate函數(shù)的用法:函數(shù)的用法:templateclass InIt, class OutIt OutIt copy(InItfirst, InIt last, OutIt x)。 //該函該函 //數(shù)將從數(shù)將從 first到到 last之間的對象依次賦給位置之間的對象依次賦給位置 x的對象,的對象,//同時同時 x++。 在本例中是賦給標準輸出流。在本例中是賦給標準輸出流。templateclass InIt, class T T accumulate(InIt first, InIt last, T val)。 //在在 first //和和 last之間依次取得對象值,每次該值與之間依次取得對象值,每次該值與 val的和替代原的和替代原 val值,返回值,返回 val。templateclass InIt, class T, class Pred T accumulate(InIt first, InIt last, T val, Pred pr)。 //在在 first和和 last之間依次取得對象值,每次該值與之間依次取得對象值,每次該值與 val進行進行 pr運算后得到的運算后得到的 //新值新值 (在例中用到在例中用到 multiplies,進行乘法運算進行乘法運算 )替代原替代原 val值值 ,返回返回 val。例例 105vector int nMyVector1, nMyVector2。 //整型向量整型向量 //該向量類型的迭代子該向量類型的迭代子vector int ::iterator nItBegin,nItEnd。 //對向量類型對象中的數(shù)據(jù)進行順序賦值對向量類型對象中的數(shù)據(jù)進行順序賦值for(int i=1。i=10。i++){(i)。}//該向量類型的迭代子被賦值該向量類型的迭代子被賦值nItBegin =()。nItEnd =()。//用用 insert函數(shù)實現(xiàn)兩個向量類型對象成員數(shù)據(jù)的復制函數(shù)實現(xiàn)兩個向量類型對象成員數(shù)據(jù)的復制((),(),())。coutnMyVetcor2=。for(i=0。i()。i++){coutnMyVector2[i] 。}coutendl。nItBegin =()。(( 續(xù))續(xù))nItEnd =()。coutnMyVetcor1=。//用迭代子輸出向量對象用迭代子輸出向量對象 nMyVector1的數(shù)據(jù)的數(shù)據(jù)while(nItBegin!=nItEnd){cout*nItBegin 。nItBegin++。}coutendl。//用標準算法得到整型向量對象中所有數(shù)據(jù)的和用標準算法得到整型向量對象中所有數(shù)據(jù)的和 cout The sum of nMyVector1[i] is: accumulate((),(),) endl。return 0。}//源程序結(jié)束源程序結(jié)束程序輸出: nMyVetcor2=1 2 3 4 5 6 7 8 9 10 nMyVetcor1=1 2 3 4 5 6 7 8 9 10 The sum of nMyVector1[i] is: 55向量應用舉例(二)向量應用舉例(二)使用向量數(shù)組存儲一個九九乘法表,并打印輸出。使用向量數(shù)組存儲一個九九乘法表,并打印輸出。////程序開始程序開始include iostreaminclude vectorusing namespace std。int main(){vectorint matrix[9]。int i,j。for(i=1。i10。i++)for(j=1。j10。j++){matrix[i1].push_back(i*j)。}for(i=1。i10。i++)for(j=1。j10。j++){例例 106coutmatrix[i1][j1] 。if(j==i){coutendl。break。}}return 0。}程序運行結(jié)果:12 43 6 94 8 12 165 10 15 20 256 12 18 24 30 367 14 21 28 35 42 498 16 24 32 40 48 56 649 18 27 36 45 54 63 72 81鏈表類中比較重要的成員函數(shù)與向量基本相同,但注意鏈表類不包含[]鏈表類中比較重要的成
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1