vector 简单底层实现
来源:互联网 发布:sql注入入侵网站 编辑:程序博客网 时间:2024/06/04 01:14
代码:
#include <iostream>#include <cstring>#include <cstdio>using namespace std;template <typename T>class Vector{private : T* data; /// 动态数组 指针指向一个内存空间 int len; /// 当前存在元素个数 int sz; /// 当前动态数组的大小public : Vector(){ len=0; sz=1; data=new T[1]; /// 分配一个内存空间 } /// 构造 初始化 void clear(){ len=0; sz=1; delete[] data; data=new T[1]; } int size(){ return len; } T& operator [] (const int index){ if(index>=len) { cout<<"Error!"<<endl; } return data[index]; } /// 重写 [] ,返回询问的下标的val void push_back(const T a){ if(len>=sz){ /// 当前动态数组存不下了,再开两倍的空间 sz=sz*2+1; T* newdata=new T[sz]; memcpy(newdata,data,sizeof(data)); /// 将之前的数据复制进来 delete[] data; data=newdata; } data[len++]=a; } /// 插入一个值protected :};struct node{ int v,id; node(int v=0,int id=0):v(v),id(id){}};int main(){ Vector<node> V; V.push_back(node(1,1)); V.push_back(node(2,2)); V.push_back(node(3,3)); V[0]=node(1,4); for(int i=0;i<V.size();i++) cout<<V[i].v<<" "<<V[i].id<<endl; return 0;}
0 0
- vector 简单底层实现
- (C++)Vector 简单的底层实现
- vector底层实现
- queue 简单底层实现
- vector list deque set map-底层实现
- vector简单实现
- 简单vector 的实现
- Vector简单实现
- Vector的简单实现
- 简单实现vector
- 简单的vector实现
- 简单vector实现
- c++vector简单实现
- 简单实现vector
- vector的简单实现
- vector的简单实现
- Vector的简单实现
- Vector 简单模拟实现
- SwipeRefreshLayout嵌套listview 设置EmptyView 冲突
- EasyRTMP实现的rtmp推流的基本协议流程
- NOIPTGA组T2 高维宇宙
- 遍历datatable方法
- 阿里云服务器Discuz论坛程序安装
- vector 简单底层实现
- python-patterns:使用python实现设计模式
- 过滤器与拦截器
- 基于gensim的Deep learning with paragraph2vec 官方models.doc2vec文档解释
- 超好用的Bootstrap分页插件
- activemq , spring 多个ip监听同一个mq
- 输入字符串和输出字符串的方法
- httpsclient 报错 timeout waiting for connection from pool
- NOIPTGA组T3 Mahjong