c++ - 更改数组头指针 C++
问题描述
假设我有一个数组:
int* arr = new int[10];
我想以O(1)复杂度摆脱数组中的第一个单元格,所以我想也许有一些方法可以改变数组头指针,我的意思是:
arr = arr + 1 ;
但这不能解决问题程序仍然将 arr 处理到第二个单元格(我不能用这个指针重新分配)而不是内存块,数组头所以如果有人可以帮助我(摆脱复杂度为 O(1) 的数组中的第一个单元格或更改数组头指针 [我听说您可以将 asm 代码添加到 cpp 代码中,有帮助吗?])
解决方案
数组在其整个生命周期中始终具有恒定数量的元素。无法添加或删除元素。
我想也许有一些方法可以改变数组头指针,我的意思是:
arr = arr + 1 ;
使用像这样的“头”指针是唯一(尽管基于索引的类似解决方案也是可能的)“删除”的 O(1) 方式 - 或者更确切地说,假装元素已从数组中删除。
你不应该改变arr
自己,因为你需要原始值来释放分配。
但这并不能解决程序仍然将 arr 视为第二个单元而不是内存块、数组头的问题
真的不清楚为什么你认为问题没有解决。
推荐阅读
- java - com.mysql.cj.jdbc.exceptions.CommunicationsException:GCP 中的通信链路故障 - CloudSQL
- javascript - 如何在 select 和 option html 标签上添加和删除自定义错误注释类?
- wpf - WPF CosmosDB ReadNextAsync() 在 background_worker 中调用时挂起
- python-3.x - 如何使用 TFDS 选择单个标签文件夹
- vue.js - jsPdf表 - 所有表列不可见
- c++ - c++是如何编译的?(关于变量声明)
- java - 如何编写代码来计算我的网站在java中的访问次数(spring mvc)
- sql - 使用另一个表中的计数更新列:我的查询不起作用。我收到一个错误
- ios - “错误:EMFILE:打开的文件太多”使用 Xcode 归档 React Native App
- flutter - 颤振网络构建版本,但 nginx 路由 404