203 lines
3.4 KiB
C++
203 lines
3.4 KiB
C++
|
#include "Vector.hpp"
|
|||
|
#include <string>
|
|||
|
|
|||
|
using namespace Lenyiin;
|
|||
|
|
|||
|
void print_Vector(const Vector<int>& v)
|
|||
|
{
|
|||
|
Vector<int>::const_iterator it = v.begin();
|
|||
|
while (it != v.end())
|
|||
|
{
|
|||
|
cout << *it << " ";
|
|||
|
++it;
|
|||
|
}
|
|||
|
cout << endl;
|
|||
|
}
|
|||
|
|
|||
|
// Vector <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void test1()
|
|||
|
{
|
|||
|
Vector<int> v;
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD>
|
|||
|
v.push_back(1);
|
|||
|
v.push_back(2);
|
|||
|
v.push_back(3);
|
|||
|
v.push_back(4);
|
|||
|
v.push_back(5);
|
|||
|
|
|||
|
// <20>鿴<EFBFBD><E9BFB4><EFBFBD><EFBFBD>
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
// 1. <20>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [] <20><><EFBFBD><EFBFBD>
|
|||
|
cout << "1. <20>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [] <20><><EFBFBD><EFBFBD> \t\t";
|
|||
|
for (size_t i = 0; i < v.size(); i++)
|
|||
|
{
|
|||
|
cout << v[i] << " ";
|
|||
|
}
|
|||
|
cout << endl;
|
|||
|
|
|||
|
// 2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cout << "2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \t\t\t";
|
|||
|
Vector<int>::iterator it = v.begin();
|
|||
|
while (it != v.end())
|
|||
|
{
|
|||
|
cout << *it << " ";
|
|||
|
++it;
|
|||
|
}
|
|||
|
cout << endl;
|
|||
|
|
|||
|
// 3. const_iterator <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cout << "3. const_iterator <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \t";
|
|||
|
print_Vector(v);
|
|||
|
|
|||
|
// 4. <20><>Χ for <20><><EFBFBD><EFBFBD>
|
|||
|
cout << "4. <20><>Χ for <20><><EFBFBD><EFBFBD> \t\t";
|
|||
|
for (auto& e : v)
|
|||
|
{
|
|||
|
cout << e << " ";
|
|||
|
}
|
|||
|
cout << endl;
|
|||
|
|
|||
|
// 4. <20><>Χ for <20><><EFBFBD><EFBFBD> const
|
|||
|
cout << "5. <20><>Χ for <20><><EFBFBD><EFBFBD> const \t\t";
|
|||
|
for (const auto& e : v)
|
|||
|
{
|
|||
|
cout << e << " ";
|
|||
|
}
|
|||
|
cout << endl;
|
|||
|
}
|
|||
|
|
|||
|
void test2()
|
|||
|
{
|
|||
|
Vector<int> v;
|
|||
|
v.push_back(1);
|
|||
|
v.push_back(2);
|
|||
|
v.push_back(3);
|
|||
|
v.push_back(4);
|
|||
|
v.push_back(5);
|
|||
|
v.push_back(6);
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
// <20>漴<EFBFBD><E6BCB4><EFBFBD><EFBFBD>
|
|||
|
v.insert(v.begin(), 0);
|
|||
|
print_Vector(v);
|
|||
|
|
|||
|
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><C5BC>
|
|||
|
Vector<int>::iterator it = v.begin();
|
|||
|
while (it != v.end())
|
|||
|
{
|
|||
|
if (*it % 2 == 0)
|
|||
|
{
|
|||
|
it = v.erase(it);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
it++;
|
|||
|
}
|
|||
|
}
|
|||
|
print_Vector(v);
|
|||
|
}
|
|||
|
|
|||
|
void test3()
|
|||
|
{
|
|||
|
Vector<int> v;
|
|||
|
v.push_back(1);
|
|||
|
v.push_back(2);
|
|||
|
v.push_back(3);
|
|||
|
v.push_back(4);
|
|||
|
v.push_back(5);
|
|||
|
v.push_back(6);
|
|||
|
v.push_back(7);
|
|||
|
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
// resize
|
|||
|
v.resize(4);
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
v.resize(8);
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
v.resize(15);
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD>
|
|||
|
v.clear();
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
|
|||
|
// reserve
|
|||
|
v.reserve(20);
|
|||
|
print_Vector(v);
|
|||
|
cout << v.size() << endl;
|
|||
|
cout << v.capacity() << endl << endl;;
|
|||
|
}
|
|||
|
|
|||
|
void test4()
|
|||
|
{
|
|||
|
// Ĭ<>Ϲ<EFBFBD><CFB9><EFBFBD>
|
|||
|
Vector<int> v1;
|
|||
|
v1.push_back(1);
|
|||
|
v1.push_back(2);
|
|||
|
v1.push_back(3);
|
|||
|
v1.push_back(4);
|
|||
|
v1.push_back(5);
|
|||
|
v1.push_back(6);
|
|||
|
v1.push_back(7);
|
|||
|
print_Vector(v1);
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Vector<int> v2(v1);
|
|||
|
print_Vector(v2);
|
|||
|
|
|||
|
Vector<int> v3;
|
|||
|
v3.push_back(10);
|
|||
|
v3.push_back(20);
|
|||
|
v3.push_back(30);
|
|||
|
v3.push_back(40);
|
|||
|
|
|||
|
// <20><>ֵ
|
|||
|
v1 = v3;
|
|||
|
print_Vector(v1);
|
|||
|
print_Vector(v3);
|
|||
|
}
|
|||
|
|
|||
|
void test5()
|
|||
|
{
|
|||
|
// ģ<><C4A3>
|
|||
|
Vector<string> v;
|
|||
|
v.push_back("111");
|
|||
|
v.push_back("222");
|
|||
|
v.push_back("333");
|
|||
|
v.push_back("444");
|
|||
|
|
|||
|
for (auto e : v)
|
|||
|
{
|
|||
|
cout << e << " ";
|
|||
|
}
|
|||
|
cout << endl;
|
|||
|
}
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
//test1();
|
|||
|
//test2();
|
|||
|
//test3();
|
|||
|
//test4();
|
|||
|
test5();
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|