下面的**顯示了怎樣把各種各樣的泛型演算法應用到vector 類物件上
#include
#include
#include
int ia[ 10 ] = ;
int main()
vector< int > vec( ia, ia+10 );
// 排序陣列
sort( vec.begin(), vec.end() );
// 獲取值
int search_value;
cin >> search_value;
// 搜尋元素
vector::iterator found;
found = find( vec.begin(), vec.end(), search_value );
if ( found != vec.end() )
cout << "search_value found!/n";
else cout << "search_value not found!/n";
// 反轉陣列
reverse( vec.begin(), vec.end() );
標準庫還提供了對map 關聯陣列的支援,即陣列元素可以被整數值之外的其他東西索引。
例如,我們可以這樣來支援乙個**目錄,這個**目錄是**號碼的陣列,但是它的元素
可以由該號碼所屬人的姓名來索引
#include
#include
#include "telephonenumber.h"
map< string, telephonenum > telephone_directory;
在第6 章我們將看到vector map 以及標準c++庫支援的其他容器型別,本書將通過一
個文字查詢系統的實現來說明這些型別的用法,而第12 章會講解泛型演算法附錄按字母順序
提供了每個演算法的解釋及其用法。
本章大致地講述了c++為資料抽象基於物件的程式設計,物件導向的程式設計、泛
型程式設計、模板容器型別以及泛型演算法、大型程式設計異常處理與名字空間提供
的支援,而本書餘下的部分將更詳細地介紹這些內容,逐步講解c++中基本但又非常先進
的特性。
標準化向量 單位向量
在很多情況下,我們只關心向量的方向兒不關心其大小,比如,在計算關照模型時,我們往往需要得到頂點的法線方向和光源方向,此時我們不關心這些向量有多長。在這些情況下,我們就需要計算標準化向量 標準化向量指的是那些長度為1的向量,標準化向量也被稱為歸一化的向量或者單位向量。數學公式 v是任意非零向量。例 公...
標準模板庫 (向量 vector)
編寫程式練習了vector 的主要函式。從中學習到了一些知識點 1.vector的內部其實還是陣列。2.at用於按照索引訪問任意位置的元素,front用於訪問頭元素,back用於訪問尾元素。3.arr.at i 和arr i 是等價的,在vector的內部過載了操作符。4.push back用於在尾...
C 標準模板庫 向量(vector)
1 可將向量 vector 想象成為乙個在程式執行時能改變長度的陣列。因為在c c 中定義了乙個陣列之後,這個陣列是固定長度的,不能隨意改變大小,向量和陣列用處相同,不同之處在於能自由改變大小。2 宣告變數v是基型別為int的向量 vectorv 3 vector代表乙個模板類,可以將t換成任意資料...