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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vector模板,初学者必读

發布時間:2025/3/19 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vector模板,初学者必读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vector

vector 稱為向量,是一種類模板,其聲明包含在頭文件< vector>中,所以使用veto 時需要包含頭文件< vector> 。
vector是一種支持高效地隨機訪問和高效地向尾部插入新元素的容器,它一般實現為一 個動態分配的數組,所以在程序開發過程中,使用vector作為動態數組是非常方便的
類 似于數組, vector分配連續的存儲空間存儲數據,個相鄰數據在存儲空間上是相鄰的。所 以, vector可以像數組一樣實現隨機訪問。
與數組不同的是, vector具有自動擴展容器大小 的功能,當 vector對象的存儲空間不夠時, vector對象會動使用new運算符申請一塊更 大的內存空間,使用賦值運算符將原有的數據復制到新存儲空間,并釋放原有存儲空間。在 具體實現內存空間的擴展時,擴展的內存空間一般會大于所需的內存空間。
另外,當刪除 vector對象中的一個元素時,多出的閑置存儲空間并不會馬上被釋放。因此, vector容器對 象已分配的空間所能容納的元素個數(稱為容量, Capacity)):通常會大于容器中實際存儲的 元素個數(稱為大小,Size)。
*** vector中的元素在內存空間上是相鄰的***。當在某個位置插入或刪除一個元素時,從這 個位置開始的、其后的所有元素都需要向后或向前移動一個位置。顯然,這個位置越靠前, 需要移動的元素就越多,移動元素所花費的時間就越長,這種插入或刪除操作的效率就越 低。在尾部添加或刪除元素的時間是常數時間,但在頭部插入或刪除元素時是線性時間復 雜度。
因此, vector比較適合于存儲相對固定、更新次數少的數據,或者只在尾部添加或者 刪除元素。
## 1.聲明vector對象
使用vector聲明對象時需要為對象指定數據類型,用具體類型實例化模版類,然后實例化外對象,例如:

vector<int>v1;//創建空對象 存儲int數據類型,v1中沒有任何值//對v1元素訪問是非法的 vector<int>v2(3);//創建容量大小為5的int類型向量//初始值都為0 vector<double>v3{ 1.2,5.2,4.1 }; vector<string>v4(3, "ab");//創建容量大小為3的string類型向量,三個元素初始值//都為ab; vector<int>v5(v2);

vector 成員函數

1.capacity()
返回容器的容量。
2.resize(N)
修改容器容量為N。
3.size()
返回容器中元素的個數。
4.begin()
返回容器的初始迭代器。
5.end()
返回最后一個元素后面位置的迭代器。
6.assign(n,val)
把n個val為向量復制。

總結

以上是生活随笔為你收集整理的vector模板,初学者必读的全部內容,希望文章能夠幫你解決所遇到的問題。

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