using namespace std;
//1 测试 矢量容器
void TestVector()
{
cout << "TestVector" << endl;
int A[] = {7,2,6,4,5,8,9,3,1};
const int N=sizeof(A)/sizeof(int);
vector<int> V(A,A+N);//用数组A初始化 矢量容器
partial_sort(V.begin(),V.begin()+5,V.end());//对第1参数至第3参数,以第2参数为界,部分排序,之前升序,之后不排序
copy(V.begin(),V.end(),ostream_iterator<int>(cout," "));
cout << endl;
}
Output:
TestVector
1 2 3 4 5 8 9 7 6
//2 测试 链表容器
void TestList()
{
cout << "TestList" << endl;
list<int> L1;
L1.push_back(0);
L1.push_front(1);
L1.insert(++L1.begin(),3);
L1.sort();
copy(L1.begin(),L1.end(),ostream_iterator<int>(cout," "));
cout << endl;
}
Output:
TestList
0 1 3
//3 测试 双向队列容器
void TestDeque()
{
cout << "TestDeque" << endl;
deque<int> Q;
Q.push_back(3);
Q.push_front(1);
Q.insert(Q.begin()+1,2);
copy(Q.begin(),Q.end(),ostream_iterator<int>(cout," "));
cout << endl;
}
Output:
TestDeque
1 2 3
//4 测试 Map容器
typedef struct
{
string Name;
int status;
}tPerson,*ptPerson;
void TestMap()
{
cout << "TestMap" << endl;
map<int,tPerson> MP;
tPerson p1;
p1.Name = "Bill";
p1.status = 1;
MP[1]=p1;
tPerson p2;
p2.Name = "Justin";
p2.status = 2;
MP.insert(map<int, tPerson> :: value_type(2, p2));
//for(map<int,string>::iterator pIt=MP.begin(); pIt!=MP.end(); pIt++)
for (int k=1;k<=MP.size();k++)
{
cout << MP[k].status << MP[k].Name.c_str();
}
cout << endl;
}