vector數組用法及舉例

vector詳解

1.調用vector的頭文件ios

注意:c++編程中填寫這個頭文件c++

 

2.vector的用法算法

注意:大概來說,vector就是一個變長數組,與a[]這種普通數組不一樣的是,他不用定義多長,是根據用戶的用法變化的,同時它的用法及方法也與普通數組不一樣編程

 

3.vector的存取方法及特殊數組

注意:vector的存取與棧相同(即一種無蓋有底的「洞」,從頂端存入,從頂端取出);安全

 

3.vector數據的讀取及其餘方法
spa

 

注意:iterator是一種迭代器,即一種讀取器,其功能相似for循環;利用iterator來輸出或存取大量的數據;設計


 

vector優點:

大小可否變化

vector屬於變長容器,便可以根據數據的插入刪除從新構建容器容量,但array和數組屬於定長容量。blog

初始化

數組不能將數組的內容拷貝給其餘數組做爲初始值,也不能用數組爲其餘數組賦值,而向量能夠。遊戲

vector提供了更好的數據訪問機制,便可以使用及at訪問方式,使得訪問更加安全。而數組只能經過下標訪問,在程序的設計過程當中,更容易引起訪問錯誤。

vector提供了size和判空的獲取機制,而數組只能經過遍歷或者經過額外的變量記錄數組的size。

vector提供了能夠動態插入和刪除元素的機制,而array和數組則沒法作到,或者說array和數組須要完成該功能則須要本身實現完成。

深度搜索:內存中的位置

C++中數組爲內置的數據類型,存放在棧中,其內存的分配和釋放徹底由系統自動完成;vector,存放在堆中,由STL庫中程序負責內存的分配和釋放,使用方便。


 

vector實例幫助理解

題目描述

小魚最近被要求參加一個數字遊戲,要求它把看到的一串數字(長度不必定,以0結束,最多不超過100個,數字不超過2^32-1),記住了而後反着念出來(表示結束的數字0就不要念出來了)。這對小魚的那點記憶力來講實在是太難了,你也不想一想小魚的整個腦殼纔多大,其中一部分仍是好吃的肉!因此請你幫小魚編程解決這個問題。

輸入格式

一行內輸入一串整數,以0結束,以空格間隔。

輸出格式

一行內倒着輸出這一串整數,以空格間隔。

輸入輸出樣例

輸入

3 65 23 5 34 1 30 0

輸出

30 1 34 5 23 65 3

具體代碼:

#include<iostream>
#include<vector>
using namespace std;

int main(){
	vector<int> a;
	int count=0;
	int x;
  while(cin>>x){
  	if(x==0) break;
  	else a.push_back(x);
  }
  for(vector<int>::iterator it=a.end()-1;it>=a.begin();it--){  //iterator迭代器輸入輸出
  	cout<<(*it)<<" ";
  }   
	
	return 0;
}

 使用iterator迭代器進行迭代輸入輸出;

注意:vector數組因爲其特殊性適用一些算法,但也不適用一些場合,因此通常使用普通的數組便可;

相關文章
相關標籤/搜索