C 複習之STL vector向量

2021-09-13 14:08:13 字數 1518 閱讀 5140

vector向量是一種順序容器。和陣列差不多,但是陣列不能擴充套件,vector能擴充套件。vector擴充套件的特點是隨機訪問快,中間插入和刪除慢,首部和末端插入刪除快。

#include
vectorveca;//元素為int型的vector

vectorvecb;//元素string型的vector

vectorvecc;//元素是結構體型,結構體可自行定義

vector::interator ita;//定義乙個元素為int型的向量的迭代器

vector::intrator itb;//定義乙個元素為string型的向量迭代器

veca.push_back(data);//在陣列最後面插入data

veca.pop_back();//刪掉最後乙個元素

veca.begin();//得到陣列的頭元素的指標,用迭代器接收

veca.end();//得到陣列的最後乙個元素+1的指標,用迭代器接收

veca.front();//得到veca的第乙個元素

veca.size();//返回veca的元素個數

veca.clear();//清空陣列元素

veca.erase(pos);//刪掉pos處的元素

veca.erase(pos1,pos2);//刪除pos1到pos2之間的元素

veca.insert(pos,data);//在pos處插入data

veca.empty();//返回bool值。veca是否為空

#include#include#include#includeusing namespace std;

int main()

cout << "採用迴圈遍歷vector" << endl;

for (int i = 0; i < veca.size(); i++)

cout << "容器的元素個數是:" << veca.size() << endl;

time_t start, endtime;//時間的開始和結束

double cost;//時間差

time(&start);

cout << "採用迭代器遍歷vector" << endl;

ita = veca.begin();//將該語句寫進for迴圈

for (ita = veca.begin(); ita!=veca.end(); ita++)//

sleep(1000);

time(&endtime);

cost = difftime(endtime, start);

cout << "花費了"<::iterator itb;

ita = veca.end();

cout << "veca.end()是:" << veca.front() << endl;

if (!veca.empty())

getchar();

}

學習C 之STL vector巢狀vector

在日常生活中我們可以將若干個小容器巢狀在乙個大容器中,vector也可以這麼做。1.建立容器 vectorint v v的每個元素都是乙個整形動態陣列 兩個連續的 之間最好加空格,否則有的編譯器識別不了2.存入元素 首先建立小容器 vector int v1 vector int v2 vector...

C 之函式複習

1.函式的定義 型別說明 函式名 引數列表 乙個程式只有乙個 main 函式,main 函式可以有引數,此引數為命令列引數。函式具有返回值和返回值型別,返回用 renturn return 的作用還有乙個是結束當前的函式的執行。2.函式的呼叫 函式的呼叫形式為 型別說明符 函式名 形參表 3.函式的...

nlp期末複習 詞向量

1 不能體現詞的含義進行編碼 one hot 2 單詞按照含義進行編碼成向量的方式稱為word embedding word embedding word2vec cbow skip gram glove 3 從word embedding到bert模型 無法解決詞的多義問題 缺點 word emb...