簡單地說,vector矢量是一個能夠存放**任意類型的對象**的動態數組,能夠增加和壓縮數據。正因為它非常的靈活和好用,所以vector的使用非常的廣泛。掌握了vector的使用方法,將為你的編程帶來非常巨大的方便,而且能夠比較容易地解決很多比較復雜的問題。
vector的操作主要包括:寫入數據,讀數據和清除數據。下面結合實例詳細介紹vector的使用方法(完整的實例可在我的CSDN資源中下載:[http://download.csdn.net/detail/margin1988/4570147](http://download.csdn.net/detail/margin1988/4570147))。
~~~
#include <vector>
using namespace std;
~~~
⑴??vector的基本操作
1)定義vector和其迭代器
~~~
vector<int> vec;
vector<int>::iterator vecIter;
~~~
2)向vector寫入數據
~~~
for (int i=1;i<=10;i++)
{
vec.push_back(i);
}
~~~
3)讀取vector中的數據,有兩種方式
A.通過索引的方式讀取:
~~~
vecIter = vec.begin();
CString str1,str2;
for (int i=0;i<10;i++)
{
str1.AppendFormat("%d ",vecIter[i]);
}
MessageBox(str1);
~~~
B.通過迭代器來讀取:
~~~
vecIter = vec.begin();
while(vecIter!=vec.end())
{
str2.AppendFormat("%d-",(*vecIter));
vecIter++;
}
MessageBox(str2);
~~~
4)清空vector中的數據
~~~
vec.clear();
~~~
(2)vector實現隨機順序打亂(將上面的vec進行隨機)
~~~
vector<int> vectemp;
vector<int>::iterator vectempIter;
srand((unsigned)time(NULL));//根據時間因子來產生隨機數隨機
while(vec.begin()!=vec.end())
{
vectempIter = vec.begin();
vectempIter += rand()%(vec.size());
vectemp.push_back(*vectempIter);
vec.erase(vectempIter);//移除某個位置的數據
}
~~~
- 前言
- VC++中自定義熱鍵及響應
- CFileDialog文件對話框
- VC++中客戶區保存為BMP圖片
- VC++讀、寫注冊表
- VC++播放音頻文件和音頻數據的方法
- VC++調用Matlab編寫的DLL(混合編程)
- VC++中文件讀、寫和其他相關操作匯總
- VC++獲取系統當前時間
- VC++按鈕控件字體設置
- VC++軟件界面風格簡單美化
- VC++中一些常用的數據類型之間的相互轉化
- VC++中截取字符串的方法
- VC++中vector矢量的使用方法及隨機相關
- VC++中結構體的定義及使用
- VC++中List Control控件的使用方法介紹
- VC++中窗口過程函數及其消息發送、響應機制介紹
- VC++中Ribbon編程架構及SDI架構多視圖切換介紹
- 串口通信基礎知識及VC++實現
- VC++中單個鍵盤按鍵的響應
- VC++中的計時器及多媒體高精度計時器
- VC++編寫DLL導出函數及其調用方法
- VC++對話框(CDialog)的全屏顯示及控件居中顯示
- VC++對話框(CDialog)添加背景圖片
- VC++圖片控件(Picture Control)顯示資源位圖(BMP)、文件位圖(BMP)、其它格式文件圖片(JPG\PNG\BMP)的方法
- VC++對Access數據庫的操作(查詢、插入、更新、刪除等)