当前位置: 首页 > news >正文

9.14号作业

仿照vector手动实现自己的myVector,最主要实现二倍扩容功能

有些功能,不会

#include <iostream>using namespace std;
//创建vector类
class Vector
{
private:int *data;int size;int capacity;
public://无参构造Vector(){}//拷贝构造Vector(const Vector &other):size(0),capacity(0){data=new int[other.capacity];for(int i=0;i<size;i++){data[i]=other.data[i];}}~Vector(){delete []data;}//返回第一个位置的元素int front(){return data[0];}//返回最后一个位置的元素int back(){return data[size-1];}//返回 最末位置的迭代器int *end(){return &data[size];}//返回第一个位置的迭代器int *begin(){return &data[0];}//添加元素void push_back(int e){if(size==capacity){cout<<"已经到容器最大值"<<endl;if(capacity==0){capacity=1;}}else{capacity=capacity*2;}int *newdata=new  int[capacity];for(int i=0;i<size;i++){newdata[i]=data[i];}delete[] data;data=newdata;data[size]=e;size++;}//删除末尾元素void pop_back(){size--;}//判空bool empty(){return size==0;}//获取元素数量int get_size(){return size;}//容器大小int get_capacity(){return capacity;}//遍历void show(){int i = 0;for(i=0;i < size;i++){cout << data[i] << "\t";}cout << endl;}};
int main()
{Vector V1;V1.push_back(4);V1.push_back(5);V1.push_back(9);V1.push_back(3);V1.push_back(6);V1.push_back(2);V1.show();cout<<"最大容量"<<V1.get_capacity()<<endl;cout<<"拥有元素"<<V1.get_size()<<endl;V1.pop_back();V1.show();return 0;
}

2.思维导图

http://www.lryc.cn/news/166898.html

相关文章:

  • 【面试题】C/C++ 中指针和引用的区别
  • spring boot 整合多数据源
  • 数据集成:数据挖掘的准备工作之一
  • xml配置文件密码特殊字符处理
  • 遥感数据与作物模型同化
  • UI库DHTMLX Suite v8.2发布全新表单组件,让Web表单实现高度可定制!
  • 河北省图书馆典藏《乡村振兴振兴战略下传统村落文化旅游设计》许少辉八一新著
  • 什么是卷积002
  • 黑马JVM总结(八)
  • 开源网安入选广东省网络空间安全标准化技术委员会新技术及应用安全技术工作组成员单位
  • Nginx配置指南:如何定位、解读与优化Linux上的Nginx设置
  • 辉瑞与吉利德科学:制药巨头的新冠病毒之战
  • x86架构基础汇编知识
  • ThreadLocal的原理
  • Chrome 108版(64-bit 108.0.5359.125)网盘下载
  • Mars3d插件参考开发教程并在相关页面引入
  • Windows 性能突然打鸡血,靠 Bug 修复了多年顽疾
  • 亚马逊封买家账号的原因有哪些
  • 1.0零基础尝试DCM通讯(c-store)
  • vue之封装tab类组件
  • 固定资产管理中净值怎么算
  • SQlite操作后如何正确退出
  • phpcmsV9.6.0sql注入漏洞分析
  • 深入理解正则表达式:高效处理文本数据的利器
  • 张雪峰说网络空间安全专业
  • day11-ArrayList学生管理系统
  • java springboot 如何实现小程序支付
  • 题目:2839.判断通过操作能否让字符串相等 I
  • 【Prometheus】Prometheus+Grafana部署
  • 无CDN场景下的传统架构接入阿里云WAF防火墙的配置实践