实现vector的思想和方法
实现思想:
通过realloc(malloc)动态申请内存(malloc主要用作初始化)
申请的空间命名为cap,实际vector存储内容的大小为size
初始cap=1,size=0
push_back()后,size++,若size==cap时,将cap realloc 成2*cap
pop()后,size–,若size<cap/4,将cap realloc 成cap/2
这样的话可以减少申请的次数
#include <iostream>
#include <stack>
using namespace std;
typedef int T;
class Vector {
private:
stack<int> s;
T* arr;
unsigned int size, cap;
void changeSize(unsigned newSize) {
arr = (T*)realloc(arr, newSize * si