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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)c語(yǔ)言四ppt-文庫(kù)吧資料

2025-01-26 12:55本頁(yè)面
  

【正文】 print(ds)。i5。 } void main() { dequedouble ds。i++) cout deq[i] 。 //隊(duì)列內(nèi)元素的數(shù)量 for(size_t i=0。 void print(deque double amp。 74 表 deque容器的操作 函數(shù)調(diào)用 說(shuō)明 () 把數(shù)據(jù)插入到 deque對(duì)象 d的首端 () 刪除首端元素 , 無(wú)返回值 () 把數(shù)據(jù)插入到 deque對(duì)象 d的末端 () 刪除末端元素 , 無(wú)返回值 [ ] (index ) 使用運(yùn)算符 “ [ ]” 訪問(wèn)容器中的對(duì)象 , index為給定下標(biāo) 75 【例 】雙端隊(duì)列容器 deque的使用。 72 表 list容器的操作 函數(shù)調(diào)用 說(shuō)明 () 把數(shù)據(jù)插入到鏈表對(duì)象 l的首端 (pos,a) 把鏈表對(duì)象 a中的元素插入到當(dāng)前鏈表中 pos之前 , 并清空鏈表 a (pos, a, posa) 把鏈表 a中從位置 posa后的元素轉(zhuǎn)移到 l 的位置 pos之前 (pos, a, abeg, aend) 把鏈表 a中在區(qū)間 [abeg, aend) 內(nèi)的元素轉(zhuǎn)移到 l 的位置 pos之前 () 刪除鏈表中相鄰的重復(fù)的元素 (x) 刪除與 x相等的元素 () 對(duì)鏈表排序 () 逆轉(zhuǎn)鏈表中元素的次序 73 3.雙端隊(duì)列容器 deque ? 與容器 vector相似, 容器 deque也是一種動(dòng)態(tài)數(shù)組的形式,是一種訪問(wèn)形式比較自由的雙端隊(duì)列,可以從隊(duì)列的兩端入隊(duì)及出對(duì)(添加和刪除),也可以使用運(yùn)算符 “ [ ]” 通過(guò)給定下標(biāo)形式來(lái)訪問(wèn)隊(duì)列中的元素,即可以順序訪問(wèn),也提供了隨機(jī)訪問(wèn)的能力。 } 70 We like STL. 程序的運(yùn)行結(jié)果為: 71 2.鏈表容器 list ? 鏈表容器 其內(nèi)部數(shù)據(jù)結(jié)構(gòu)實(shí)質(zhì)是一個(gè) 雙向鏈表 ,可以在任何一端操作 , 與向量 vector不同的是 ,鏈表容器必須進(jìn)行順序訪問(wèn) , 不能實(shí)現(xiàn)隨機(jī)訪問(wèn)即不支持 “ []” 運(yùn)算符 , 只能用對(duì)應(yīng)迭代器操作元素 。 coutendl。i()。//構(gòu)造無(wú)名字符串對(duì)象追加到 vs中 (STL.)。 (s1)。 int main() { vectorstring vs。 } 68 v1: v2: v2 after erase: v1: v2: 程序的運(yùn)行結(jié)果為: 69 【例 】向量容器存儲(chǔ)字符串。 print(v2)。 print(v1)。 //輸出 v2內(nèi)容 (v2)。 (()+1)。 print(v2)。 print(v1)。i++) (*(i+1))。 for(size_t i=0。 //定義了兩個(gè)空的類(lèi)型為 float的向量對(duì)象 ()。 coutendl。inumelem。vct) //輸出向量的每一個(gè)元素 { size_t numelem=()。 /* */ include iostream include vector using namespace std。value=T()) ? 用來(lái)初始化一個(gè)指定大小 n的向量對(duì)象; ? 隨機(jī)元素訪問(wèn) , vector類(lèi)重載了 “ [ ]” 運(yùn)算符 , 允許使用下標(biāo)直接訪問(wèn)序列元素 。 ? 當(dāng)然在序列中其他位置插入 、 刪除也是完全可以的 ,但是這樣效率會(huì)降低 , 因?yàn)?vector對(duì)象必須要移動(dòng)元素位置來(lái)容納新的元素或者要收回被刪除元素的空間 。 64 ? 向量 vector提供了對(duì)序列元素的快速 、 隨機(jī)訪問(wèn) 。 62 表 容器首末元素的操作 函數(shù) 說(shuō)明 () 返回容器內(nèi)的首元素的引用 () 返回容器內(nèi)的末元素的引用 (elem) 向容器的末端插入 ( 添加 ) 元素 elem () 刪除末端的元素 c為容器對(duì)象 63 1.向量容器 vector ? 向量 vector是 STL提供的最簡(jiǎn)單 、 最常用的順序容器模板類(lèi) , 用于容納不定長(zhǎng)的線性序列 ,允許對(duì)各元素進(jìn)行隨機(jī)訪問(wèn) , 這一點(diǎn)與 C語(yǔ)言的數(shù)組操作基本相同 。 } 60 v1: 6 4 v2: 3 8 2 7 1 5 l1: 9 3 8 2 7 1 5 程序的運(yùn)行結(jié)果為: 61 順序容器 STL的順序容器主要包括 : ? 向量 vector ? 鏈表 list ? 雙向隊(duì)列 deque ? 字符串類(lèi) string等 。itl++) //輸出 l1的所有元素 cout*itl 。 for(itl=()。itv++) //輸出 v2的所有元素 cout*itv 。 for(itv=()。itv++) //輸出 v1的所有元素 cout*itv 。 for(itv=()。 //定義鏈表迭代器 (())。 //把 5插入向量 v2末端 listint l1((),())。 //把 6插入向量 v1末端元素 4之前 ((),9)。//定義向量迭代器 ((),4)。 vectorint v1,v2(a,a+5)。 /* */ includeiostream includevector includelist using namespace std。 55 表 容器元素的訪問(wèn) 迭代器有關(guān)的成員函數(shù) 說(shuō)明 CT::iterator it 定義指定類(lèi)型容器的迭代器對(duì)象 () 返回指向容器對(duì)象中首元素的迭代器 () 返回指向容器對(duì)象中末元素后續(xù)位置的迭代器 () 返回指向容器對(duì)象中逆向首元素的迭代器 () 返回指向容器對(duì)象中逆向末元素的迭代器 其中 C是容器類(lèi) , T為指定的數(shù)據(jù)類(lèi)型 , c為一個(gè)容器對(duì)象 56 3 容器的維護(hù)與查詢 所有容器都可以進(jìn)行 : ? 插入元素 ? 刪除元素 ? 清空容器 等操作 , 還可以查詢?nèi)萜鞯娜萘亢痛笮?, 判斷是否為空等 , 如表 。 ? 還可以用 “ ++” 和 “ ” 運(yùn)算符使智能指針指向相鄰的元素。 ? 可以用 迭代器對(duì)象 指向容器內(nèi)的元素。 實(shí)現(xiàn)兩個(gè)容器對(duì)象內(nèi)容的互換 其中 Containers 是容器類(lèi) , T為指定的數(shù)據(jù)類(lèi)型 , c、 c1為容器對(duì)象 54 2 容器元素的訪問(wèn) ? 所有的容器都要配合 迭代器 才能訪問(wèn)內(nèi)部的元素。 拷貝構(gòu)造對(duì)象 ~Containers() 析構(gòu)函數(shù)釋放元素所占內(nèi)存 c=c1。 定義指定類(lèi)型 T的容器對(duì)象 , 利用默認(rèn)構(gòu)造函數(shù) ContainersT c(begin,begin+N)。如表 所示。 ? 所有容器類(lèi)還提供了一個(gè) 拷貝構(gòu)造函數(shù) 能以現(xiàn)有容器對(duì)象為樣本復(fù)制生成內(nèi)容相同的另一個(gè)容器。 52 1 容器對(duì)象的構(gòu)造和析構(gòu) ? 所有容器類(lèi)都提供了 不帶參數(shù)的默認(rèn)構(gòu)造函數(shù) ,可用這種方式構(gòu)造出空的容器對(duì)象,然后向容器內(nèi)插入元素。 ? 關(guān)聯(lián)容器中的元素沒(méi)有嚴(yán)格線性關(guān)系 , 所以其中的元素沒(méi)有首元素和末元素的區(qū)別 。 51 ? 順序容器中元素可采用兩種方式進(jìn)行訪問(wèn): ? 順序訪問(wèn) :順序訪問(wèn)則必須從首元素開(kāi)始逐漸遞增到目標(biāo)元素 , 向量 vector 和雙端隊(duì)列 deque也可以使用該種方式 , 而鏈表 list只能使用該方式訪問(wèn)內(nèi)部的元素 。 ? 對(duì)于這些元素的訪問(wèn) , 總可以從首元素出發(fā) ,逐個(gè)訪問(wèn)每個(gè)中間元素 , 然后到達(dá)最后一個(gè)元素 。 ? 序列的 “ 頭 ” 是序列的首元素 。 ? 關(guān)聯(lián)容器( Associative Containers ), 包括 set、multiset、 map、 multimap。 集合 set 多重集合 multiset映射map、 多重映射 multimap。 ? 實(shí)例化為類(lèi)型 T 的容器類(lèi)能夠存放 T 類(lèi)型的對(duì)象。 ? 算法位于 algorithm中 ? 通用的數(shù)值方法在 numeric中 ? 迭代器類(lèi)在 iterator中 ? 函數(shù)對(duì)象在 functional中 。 ? C++標(biāo)準(zhǔn)頭文件 , iostream、 iomanip、limits、 stdexecept等 , 包含了一些C++常用的類(lèi)和對(duì)象的定義與聲明 。 //輸出對(duì)象 extern _CRTIMP ostream cerr, clog。 extern _CRTIMP istream cin。 44 (2) C++標(biāo)準(zhǔn)頭文件 ? 在本書(shū)前面內(nèi)容的大部分例子程序中 , 都用到了 std 命 名 空 間 , 一 般 的 形 式 都 是 先 用include指令包含一個(gè)頭文件 , 然后使用using namespace std; 這樣就可以在后面的程序中使用 std命名空間所包含的標(biāo)識(shí)符了 。 或者可以做如下聲明: using namespace Math。//調(diào)用函數(shù) Sin求值 ? 為了避免每次定義都使用命名空間作前綴 , 還可以用 using關(guān)鍵字來(lái)指定命名空間 , 如經(jīng)過(guò)如下聲明后: using Math::Matrix。 42 ? 如下語(yǔ)句用完整類(lèi)名定義了一個(gè)對(duì)象并調(diào)用了空間內(nèi)的函數(shù) Math::Complex c1。 const double PI= //常數(shù) PI double Sin(double rad)。 41 可以用如下方式定義命名空間: namespace Math //Math命名空間 { class Matrix //矩陣類(lèi) { 關(guān)于 Matrix類(lèi)的定義 }。 39 ? 容器 用來(lái)表示各種數(shù)據(jù)結(jié)構(gòu)對(duì)象,如 vector、 list、deque、 set、 map等,主要用于存放數(shù)據(jù),每個(gè)容器表現(xiàn)為類(lèi)模版; ? 迭代器 用來(lái)把容器和算法聯(lián)系起來(lái),是一種智能指針,通過(guò)運(yùn)算符重載,一般化了 C++中指針的概念; ? 算法 包括對(duì)數(shù)據(jù)集合的查找、排序、復(fù)制等操作,都以函數(shù)模版的形式出現(xiàn); ? 函數(shù)對(duì)象 ,就是一個(gè)行為類(lèi)似于函數(shù)的對(duì)象,重載了運(yùn)算符函數(shù) operator(); ? 內(nèi)存分配器 ,主要用來(lái)為各種容器配置并管理內(nèi)存空間,以類(lèi)模板形式出現(xiàn); ? 適配器 ,用來(lái)修飾接口,分為容器配接器、迭代器配接器和函數(shù)對(duì)象配接器等。 STL倡導(dǎo)泛型編程 , 即以通用的方式來(lái)寫(xiě)數(shù)據(jù)結(jié)構(gòu)和算法 。 37 STL概述 ? STL( Standard Template Library, 標(biāo)準(zhǔn)模板庫(kù) )是一個(gè) C++的通用庫(kù) , 是美國(guó)加州的惠普實(shí)驗(yàn)室開(kāi)發(fā)的一系列軟件的統(tǒng)稱 , 開(kāi)發(fā)者主要是Alexander Stepanov, Meng Lee, David R Musser三位 。 34 第二部分 面向?qū)ο蟮某绦蛟O(shè)計(jì) 第 3章 類(lèi)和對(duì)象 (一 ) 第 4章 類(lèi)和對(duì)象 (二 ) 第 5章 繼承和派生 第 6章 虛函數(shù)與多態(tài)性 第 7章 運(yùn)算符重載 第 8章 模板 第 9章 標(biāo)準(zhǔn)模板庫(kù) STL 第 10章 C++語(yǔ)言的輸入和輸出 35 第 9章 標(biāo)準(zhǔn)模板庫(kù) STL 本章重點(diǎn): ? STL概述 ? 容器 ? 迭代器 ? 算法與函數(shù)對(duì)象 36 ? 在 C++中,庫(kù) (library)表示的是一系列程序組件的集合,它的主要用途就是在不同的程序中被重復(fù)使用。 ? 本章介紹了函數(shù)模板與模板函數(shù) 、 類(lèi)模板與模板類(lèi)的概念 。 } 32 10 12 12 10 Stack is empty. 程序的運(yùn)行結(jié)果為: 33 本章小結(jié) ? 使用模版可以設(shè)計(jì)出與數(shù)據(jù)類(lèi)型無(wú)關(guān)的程序框架 ,可以建立具有通用類(lèi)型的類(lèi)庫(kù)和函數(shù)庫(kù) 。 if(pa!=NULL)cout*paendl。 if(pa!=NULL)cout*paendl。 if(pa!=NULL)cout*paendl。 cou
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1