日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++语言基础 —— STL —— 容器与迭代器 —— vector

發(fā)布時間:2025/3/17 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++语言基础 —— STL —— 容器与迭代器 —— vector 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【概述】

vector 是定義在 <vector> 頭文件中的向量容器模版類,其以連續(xù)數(shù)組的方式存儲元素序列,可以將 vector 看作是以順序結構實現(xiàn)的線性表。

當在程序中需要使用動態(tài)數(shù)組時,vector 是一個理想的選擇,其在使用過程中動態(tài)地增長存儲空間,存取任何元素都能在參數(shù)時間內完成,但若在結尾插入,效率比較高,若往中間某個位置插入,則其插入位置后的元素都要后移,效率相對較低。

定義:vector<type> vectorName

參數(shù):type 代表 vector 中存儲元素的類型

【構造函數(shù)】

  • vector <type> c:產生一個空 vector,其中沒有任何元素
  • vector <type> c(n):生成一個大小為 n 的 vector
  • vector <type> c(n, elem):產生一個大小為 n 的 vector,每個元素值都是 elem?
  • vector <type> c1(c2):產生另一個同型 vector 的副本,所有元素都被復制
vector<int> v1; vector<double> v2(10); vector<string> v3(10,"abc"); vector<string> v4(v3);

【基本操作】

對?vector<type> v?的基本操作有:

  • v[i]:訪問第 i 個元素
  • v.front():返回首元素
  • v.back():返回尾元素
  • v.size():返回容器中實際的元素個數(shù)
  • v.clear():刪除容器中所有元素
  • v.empty():判斷容器是否為空,若為空返回真,否則返回假
  • v.push_back(elem):向表尾插入元素 elem
  • v.pop_back():刪除表尾元素
  • v1.swap(v2)、swap(v1,v2):將 v1 和 v2 元素互換

【迭代器操作】

對?vector<type> v 的迭代器 it 的操作有:

  • v.bedin():返回迭代器指向的第一個元素的位置
  • v.end():返回迭代器指向的最后一個元素后的位置
  • v.insert(it, elem):向迭代器 it?指向的元素前插入新元素 elem
  • v.insert(it, n, elem):向迭代器 it 指向的元素前插入 n 個?elem
  • v.insert(it, first, last):將由迭代器 first 和 last 所指定的序列 [first, last) 插入到迭代器 it?指向的元素前面
  • v.erase(it):刪除由迭代器 it 所指向的元素
  • v.erase(first, last):刪除由迭代器 first 和 last 所指定的序列 [first, last)

總結

以上是生活随笔為你收集整理的C++语言基础 —— STL —— 容器与迭代器 —— vector的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。