c++vertor容器

2150 ワード

c++ではvectorは非常に有用な容器です.
役割:コンテナのように様々なタイプのオブジェクトを格納することができ、簡単に言えばvectorは任意のタイプの動的配列を格納することができ、データを増加し圧縮することができる.
vectorはC++標準テンプレートライブラリの一部であり、多機能であり、多種類のデータ構造とアルゴリズムを操作できるテンプレートクラスと関数ライブラリである.
特に注意:
vectorを使用するには、次の点に注意してください.
1、表示するベクトルの長さが長い場合(ベクトルの内部に多くの数を保存する必要がある)、メモリの漏洩を招きやすく、効率が低下します.
2、Vectorが関数のパラメータまたは戻り値として使用される場合、その書き方に注意する必要があります.
double Distance(vector&a,vector&b)の中の"&"は絶対に少なくない!!!
例:vectortest;
//vectorを確立し、intは配列要素のデータ型であり、testは動的配列名である.
簡単な使い方は以下の通りです.
vectortest;//vectorを作成する
test.push_back(1);
test.push_back(2);//1と2をvectorに押し込みtest[0]が1、test[1]が2
 
自分が見た例:
vector > points;//2 D配列の定義
points[0].size();//1行目の列数
1、基本操作
(1)ヘッダファイル#include.
(2)vectorオブジェクト、vector vecを作成する.
(3)末尾挿入数字:vec.push_back(a);
(4)下付きアクセス要素、cout<
(5)反復器を用いて要素にアクセスする.
vector::iterator it;
for(it=vec.begin();it!=vec.end();it++)
    cout<
(6)挿入要素:vec.insert(vec.begin()+i,a);i+1番目の要素の前にaを挿入する.
(7)要素の削除:vec.erase(vec.begin()+2);3番目の要素を削除
vec.erase(vec.begin()+i,vec.end()+j);区間[i,j-1]を削除する.区間は0から
(8)ベクトルサイズ:vec.size();
(9)クリア:vec.clear();
特にヒント:begin()とend()関数、front()とback()の違いがあります
#include "stdafx.h"
#include "vector"
#include "iostream"
using namespace std;
//    
int max(vector &array) {
	int max = 0;
	for (vector::iterator iter=array.begin(); iter!=array.end(); iter++)   //     ,     
	{
		if (*iter>max)
		{
			max = *iter;
		}
	}
	return max;
}
//  
void output(vector &array) {
	for (vector::iterator iter = array.begin(); iter != array.end(); iter++) {   //         
		cout << *iter << "   ";
	}
	cout << endl;
}
int main()
{
	vector a;            //int     
	int b[3] = {1,2,3};
	for (int i = 0; i < sizeof(b)/sizeof(b[0]); i++)   
	{
		a.push_back(b[i]);    //    
	}
	output(a);
	cout << a.size()<