模拟vector
#include<iostream>
#include<string.h>
#include<stdio.h>
#include <stdlib.h>
using namespace std;
template <typename T>
class Vector{
public:
int length = ;
int size = ;
T *a = (T*) malloc(sizeof(T));;
T &operator[](int i){
return a[i];
}
T push_back(T in){
if(length == size){
T *b;
b = (T*) malloc(size**sizeof(T));
for(int i = ; i < size; i++){
b[i] = a[i];
}
delete(a);
a = b;
size *= ;
}
a[length++] = in;
}
T* begin(){
return a;
}
T* end(){
return a+length;
}
typedef T* iterator;
void clear(){
length = ;
}
int insert(int num, T b){
if(num >= length) return -;
for(int i = length; i >= num; i--){
a[i] = a[i-];
}
a[num] = b;
length++;
return ;
}
int erase(int num){
if(num > length){
return -;
}
for(int i = num; i <length-; i++){
a[i] = a[i]+;
}
length --;
return ;
}
};
class cl{
public: int a, b;
cl(){a = , b = ;};
};
Vector<int> v;
Vector<cl> c;
int main(){
cl a;
c.push_back(a);
Vector<cl>::iterator It;
for(It=c.begin();It!=c.end();It++)
cout<<It->a<<" "<<It->b;
cout<<endl; int *b = (int*) malloc();
printf("%d", b[]);
for(int i = ; i < ; i++){
v.push_back(i);
}
for(int i = ; i < ; i++){
printf("%d ", v[i]);
}puts("");
Vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
printf("%d %d\n", v.size, v.length);
v.insert(, );
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
printf("%d %d\n", v.size, v.length);
v.erase();
v.erase();
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
printf("%d %d\n", v.size, v.length); }
模拟vector的更多相关文章
- Tournament Chart【模拟+vector+map+string】
Tournament Chart 传送门:链接 来源:UPC10889 题目描述 In 21XX, an annual programming contest, Japan Algorithmist ...
- 2015年第六届蓝桥杯省赛T10 生命之树(树形dp+Java模拟vector)
生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都 ...
- pat甲级 1154 Vertex Coloring (25 分)
A proper vertex coloring is a labeling of the graph's vertices with colors such that no two vertices ...
- uva 101 POJ 1208 The Blocks Problem 木块问题 vector模拟
挺水的模拟题,刚开始题目看错了,poj竟然过了...无奈.uva果断wa了 搞清题目意思后改了一下,过了uva. 题目要求模拟木块移动: 有n(0<n<25)快block,有5种操作: m ...
- (原创)动态内存管理练习 C++ std::vector<int> 模拟实现
今天看了primer C++的 “动态内存管理类”章节,里面的例子是模拟实现std::vector<std::string>的功能. 照抄之后发现编译不通过,有个库函数调用错误,就参考着自 ...
- hdu 5071 vector操作恶心模拟
http://acm.hdu.edu.cn/showproblem.php?pid=5071 对于每一个窗口,有两个属性:优先级+说过的单词数,支持8个操作:新建窗口,关闭窗口并输出信息,聊天(置顶窗 ...
- UVa 12100 Printer Queue(queue或者vector模拟队列)
The only printer in the computer science students' union is experiencing an extremely heavy workload ...
- <泛> STL - vector 模拟实现
今天为大家带来一个模拟STL-vector的模板实现代码. 首先看一下测试结果,之后再为大家呈现设计 测试效果 测试代码 #include<iostream> #include<ve ...
- SDUT OJ 图练习-BFS-从起点到目标点的最短步数 (vector二维数组模拟邻接表+bfs , *【模板】 )
图练习-BFS-从起点到目标点的最短步数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 在古老的魔兽传说中,有两个军团,一个叫天 ...
随机推荐
- 获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName
http://blog.csdn.net/bichenggui/article/details/4774457 -------------------------------------------- ...
- 2句代码轻松实现WPF最大化不遮挡任务栏并且具有边框调节效果
原文:2句代码轻松实现WPF最大化不遮挡任务栏并且具有边框调节效果 相信刚入门的菜鸟跟我一样找遍了百度谷歌解决最大化遮挡任务栏的方法大多方法都是HOOK一大堆API声明 最近在敲代码的时候无意中发现有 ...
- [置顶] 技术人血泪史:七种IT失误让你直接走人
IT人士的真实故事:搞出大麻烦,旋即遭解雇 如今想找一份理想的IT工作并不容易,但丢掉一份工作却非常简单. 导致自己被炒鱿鱼的原因很多,无论是没能尽到保护雇主数字资产的义务.或者是滥用手中的权限以达到 ...
- .net线程入门1-进程
什么是进程 当用户启动了一个程序,这个程序会加载内存和一大堆的资源,这些内存和资源在物理上的分区就是一个进程.一个应用程序也许不仅仅包含一个进程,了解程序和进程不是同一回事是非常重要的. 你可以通过任 ...
- webserver/CGI
来自:http://blog.sina.com.cn/s/blog_466c6640010000nj.html 1. TUX2. lighttpd,thttpd,shttpd 3. 几种web s ...
- osg配置
编辑器加载中..OSG+VS2010+win7环境搭建 Win7下 osg+vs2010环境搭建 一.相关准备 a) Osg源码 当前最新版:OpenSceneGraph的3.0.0.zip 下载链接 ...
- Hadoop core-site.xml 配置项列表
core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值 官方文档: ...
- Sum It Up(搜索)
http://acm.hdu.edu.cn/showproblem.php?pid=1258 include include include include using namespace std; ...
- 浅谈二维RMQ
针对一些二维区间最值问题,用一维RMQ来解决显然是不够的.所以,要改进算法.鉴于网上没有PASCAL版的RMQ标程与解析,所以小可在这里简单的讲一下. 核心思想和一维的一样,只是在计算区间时略有不同. ...
- 《University Calculus》-chaper13-多重积分-三重积分的引入
承接之前对一重积分和二重积分的介绍,这里我们自然的引出三重积分. 在二重积分的引入中,我们曾经埋下过一个小伏笔,二重积分的几何意义是求解一个体积,但是我们仅仅限定在了曲顶柱体的几何体,那么对于完全由曲 ...