#include <iostream>
#include <vector>
using namespace std;
int main
{
vector<int> yoyo;
}
- 存取元素的用法 :
- 1.yoyo.at(i)----->存取索引值為 i 的元素
- 2.yoyo.front()--->回傳yoyo第一個元素
- 3.yoyo.back() --->回傳yoyo最尾元素
- 新增或移除元素的用法:
- 4.yoyo.push_back()-->新增元素至yoyo的尾端
- 5.yoyo.pop_back()--->刪除yoyo最尾端
- 6.yoyo.insert()----->插入一個或多個元素至yoyo內的任意位置
- 7.yoyo.erase()------>刪除yoyo中一個或多個元素
- 8.yoyo.clear()------> 清空所有元素
- 取得長度/起終的用法
- 9.yoyo.size()------->取得yoyo目前持有的元素個數
- 10.yoyo.begin()----->它指向yoyo第一個元素
- 11.yoyo.end()------->它指向yoyo最尾端元素的下一個位置(注意:它不是最末元素)
- 12.yoyo.empty()-----> 如果yoyo內部為空,則傳回 true 值
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> yoyo;
yoyo.push_back(3); 把yoyo看成[3、7、4、12、9]的一維陣列
yoyo.push_back(7);
yoyo.push_back(4);
yoyo.push_back(12);
yoyo.push_back(9);
cout << "Vector:";
for(int i=4;i>=0;i--) yoyo.at(i)就是尋找i位置的元素
{ [4] [3] [2] [1] [0]
cout << yoyo.at(i)<<" "; 執行結果: ↓ ↓ ↓ ↓ ↓
} Vector: 9 12 4 7 3
cout << endl;
}
int main()
{
vector<int> yoyo;
yoyo.push_back(10);
yoyo.push_back(4);
cout << "yoyo.front is now ";
yoyo.front() -= yoyo.back(); //10-4=6,也就是頭減尾
cout << yoyo.front(); 執行結果:yoyo.front is now 6
cout << endl;
}
4.yoyo.push_back() 5.yoyo.pop_back()
int main()
{
vector<int> yoyo;
yoyo.push_back('a');
yoyo.push_back(4);
yoyo.push_back(5);
yoyo.push_back(6);
cout << "Vector:";
for(unsigned int i=0;i<4;i++) ------>unsigned:一個整數不可能是負數時,竟可能用他去避免,這麼做
{ 最主要的好處之一是可以在宣告當中表明意圖,另一
cout << yoyo[i]<<" "; 方面既然 unsigned 不可能為負,所以檢查有效範
} 圍會比較簡單
cout << endl; 執行結果:
return 0; Vector:97 4 5 6
}
假如你使用yoyo.pop_back(),他可以刪掉最尾巴的元素,像上面那程式碼,把它放在第8行,結果就變97 4 5。
6.yoyo.insert() 10.yoyo.begin() 11.yoyo.end()
int main()
{
vector<int> yoyo;
yoyo.push_back(3);
yoyo.push_back(7);
yoyo.push_back(4);
yoyo.push_back(12);
yoyo.push_back(9);
cout << "Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" ";
}
cout << endl;
yoyo.insert(yoyo.begin(),5);------------->yoyo.insert(哪個位置,放甚麼東西),yoyo.begin()是把5放在最前面;反之用yoyo.end(),則放在最後面
cout << "New Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" "; 執行結果:
} Vector:3 7 4 12 9
cout << endl; New Vector:5 3 7 4 12 9
}
從[0]開始位移3格↴ [0] [1] [2] [3]
如果你改成yoyo.insert(yoyo.begin()+3,5),結果就會變 ↓ ↓ ↓ ↓
New Vector:3 7 4 5 12 9
7.yoyo.erase()
int main()
{
vector<int> yoyo;
yoyo.push_back(3);
yoyo.push_back(7);
yoyo.push_back(4);
yoyo.push_back(12);
yoyo.push_back(9);
cout << "Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" ";
}
cout << endl;
yoyo.erase(yoyo.begin()+3); 把位置[3]的元素刪掉
cout << "New Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" "; 執行結果:
} Vector:3 7 4 12 9
cout << endl; New Vector:3 7 4 9
}
8.yoyo.clear()
int main()
{
vector<int> yoyo;
yoyo.push_back(3);
yoyo.push_back(7);
yoyo.push_back(4);
yoyo.push_back(12);
yoyo.push_back(9);
cout << "Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" ";
}
cout << endl;
yoyo.insert(yoyo.begin()+3,5);
cout << "New Vector:";
yoyo.clear(); 顧名思義,都清掉了
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" ";
} 執行結果:
cout << endl; Vector:3 7 4 12 9
} New Vector:
9.yoyo.size()
int main()
{
int c = 0;
vector<int> yoyo;
yoyo.push_back('a');
yoyo.push_back(4);
yoyo.push_back(5);
yoyo.push_back(6);
cout << "Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
c++;
}
cout << c << endl; 執行結果: Vector:4
} 也就是說yoyo.size()是取得yoyo目前持有的元素個數
12.yoyo.empty()
int main()
{
vector<int> yoyo;
yoyo.push_back(3);
yoyo.push_back(7);
yoyo.push_back(4);
yoyo.push_back(12);
yoyo.push_back(9);
cout << "Vector:";
for(unsigned int i=0;i<yoyo.size();i++)
{
cout << yoyo[i]<<" "; 這裡的空白不包含在陣列中
}
cout << endl;
if(yoyo.empty())
{
cout<<"is empty";
}
else 執行結果:
cout << "is not empty"; Vector:3 7 4 12 9
} is not empty
留言列表