vector 向量,平时把它当做高级数组使用
先写点简单常用的,以后遇到其他的操作在补上
简单类型:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int>v;
for(int i=0;i<10;i++)
{
v.push_back(i);
}
vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
for(int i=0;i<v.size();i++)
{
it=v.begin();
cout<<*it<<endl;
v.erase(it);
}
return 0;
}
复合类型:
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
struct Node
{
int x,y;
Node(int x=0,int y=0):x(x),y(y){}
};
vector<Node>v;
vector<Node>vv[10];
int main()
{
freopen("out.txt","w",stdout);
//从一个点出去点的坐标
for(int i=0;i<5;i++)
{
v.push_back(Node(i,5-i));
}
for(int i=0;i<v.size();i++)
{
cout<<v[i].x<<","<<v[i].y<<endl;
}
cout<<"-----------------------"<<endl;
for(int i=0;i<5;i++)
{
vv[0].push_back(Node(10,10*i));
}
for(int i=0;i<vv[0].size();i++)
{
cout<<vv[0][i].x<<","<<vv[0][i].y<<endl;
}
cout<<"-----------------------"<<endl;
for(int i=0;i<5;i++)
{
vv[i].clear();
for(int j=0;j<=i;j++)
{
vv[i].push_back(Node(100,j*1000));
}
}
for(int i=0;i<5;i++)
{
for(int j=0;j<=i;j++)
{
cout<<vv[i][j].x<<","<<vv[i][j].y<<endl;//从第i个点为起点的第j条边
}
cout<<"**********"<<endl;
}
return 0;
}
尊重原创,转载请注明出处: http://blog.csdn.net/hurmishine