Vector/Windows_Vector/Vector.cpp

203 lines
3.4 KiB
C++
Raw Permalink Normal View History

#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;
}