C++ 数组元素操作

news/2024/10/2 10:39:26

数组元素的移除

  • 核心思路:创建一个新的内存空间存储移除后的数组,再将原数组delete释放,再将指针指向新数组。
cout << "----------------------------- 数组元素的移除 -------------------------" << endl;
//cout << deleteArrByIndex(0, arr11) << endl;// 示例数组
int * pArr = new int[5] {1,3,5,7,9};
int * pNewArr = new int[4];
int deleteIndex = 2;    // 移除下标为2的元素
int len = 5;
for (int i = 0; i < len; ++i) {if(i == 2) {continue;}if(i <= 2) {pNewArr[i] = pArr[i];}else {pNewArr[i - 1] = pArr[i];}
}
delete[] pArr;  // 回收老数组的空间pArr = pNewArr; // 将老数组的指针指向新数组的内存空间
// 打印删除后的数组
for (int i = 0; i < 4; ++i) {cout << pArr[i] << endl;
}

数组元素的插入

        int * pArr2 = new int[]{1,2,3,4,5};  // 1  , 3下标插入 0int * pInsert = new int[7];int offset =  0;for (int i = 0; i < 5; ++i) {if(i == 1 || i == 3) {pInsert[i + offset] = 0;offset ++;}pInsert[i + offset] = pArr2[i];}delete[] pArr2;pArr2 = pInsert;for (int i = 0; i < 7; ++i) {cout << "pArr2[" << i << "] = " << pArr2[i] << endl;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29424.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

基于改进Bert模型的夸夸聊天机器人(1)数据预处理篇

目录项目概述数据预处理数据爬取数据清洗构建敏感词字典树去除不相关问题和回答去除敏感词去除HTML标签去除标点符号去除emoji去除夸夸词过滤长度,转换格式 项目概述 该项目构建一个基于UniLM的生成式夸夸bot UniLM 是在微软研究院在BERT的基础上,最新产出的预训练语言模型,被称…

当字符遇上 scanf() 要当心

当字符遇上 scanf() 要当心 看一下程序char ch1,ch2;printf("请输入ch1,ch2的值:");scanf("%c %c",&ch1,&ch2);printf("ch1 = %c, ch2 = %c\n",ch1,ch2);printf("请再次输入ch1的值:");scanf("%c",&ch1);printf…

瞬回丝滑!30秒解决win11文件管理器卡顿问题!

命令文本:reg add "HKCU\Software\Classes\CLSID\{d93ed569-3b3e-4bff-8355-3c44f6a52bb5}\InprocServer32" /f /ve 如需取消输入这个命令 reg delete "HKCU\Software\Classes\CLSID\{d93ed569-3b3e-4bff-8355-3c44f6a52bb5}" /f

k8s资源编排-yml介绍

yaml文件: 叫做“资源清单文件”,通过kubecl命令直接使用yaml文件就可以实现对大量的资源对象进行编排部署了。2.Yaml的组成部分 yaml由2个部分组成: 2.1 控制器定义 2.2 被控制对象 yaml文件自己写比较繁琐,还好有自动生成yml格式文件的方式: 1.使用kubectl create命令生…

React文本溢出组件封装以及高亮提示

React文本溢出组件封装以及高亮提示Abbr 组件:使用场景:当我们需要设置支持最大行数时进行省略展示 当我们需要设置支持设置超过多少字符进行省略展示 当我们需要设置支持关键字高亮展示(有点问题,当关键字被裁剪成...之后,就无法高亮) 当我们需要支持忽略大小写高亮 当我…

AlmaLinux 9.4 正式版发布 - RHEL 二进制兼容免费发行版

AlmaLinux 9.4 正式版发布 - RHEL 二进制兼容免费发行版AlmaLinux 9.4 正式版发布 - RHEL 二进制兼容免费发行版 由社区提供的免费 Linux 操作系统,RHEL 二进制兼容发行版 请访问原文链接:AlmaLinux 9.4 正式版发布 - RHEL 二进制兼容免费发行版,查看最新版。原创作品,转载…

cc6链:绕过cc1的JDK版本限制

这里回到LazyMap,LazyMap的get方法可以触发后续的rce为什么cc1有jdk版本限制 JDK中的AnnotationInvocationHandler的readObject更新了,所以cc1用不了 但是前面的部分还是存在的,只要我们找到一个新的入口就还是能执行命令 这里回到LazyMap,LazyMap的get方法可以触发后续的r…