能不能用二维数组记录时间和数据,二维数组如果要插入和删除,怎么才能实现整体的联动?
如何像操作一维数组一样操作二维数组
在实际的项目中,可能会经常涉及到将二维数组改成一维数组的情况,也会经常执行类似于从数组中取值的操作。
如果操作是从数组第一个元素(0, 0)开始
我们可以用数组名初始化指针,之后用指针进行相关操作,没有问题(见下面例子,这种方法其实也不好操作)。此时如果是选用数组名进行操作,需要特别注意不能出现上述情况(在二维数组名上进行加法运算不等同于“遍历”数组元素)。
如果是从数组中间进行取值
我们可以用指针指向该元素,之后用指针进行相关的操作。但是,前提是一定要找准该元素的地址。举两个例子(例子中将二维数组的第一维第二维分别成作“行”和“列”;mark_[64*64]是mark对应的转换后的一维数组)
可以是可以, 不过你说的上面联动是什么意思? 你的意思是一个数据对应了一个时间, 添加和删除都是同时的?
如果是一个数据对应一个时间的话 用个结构体不就行了,或者是一个类, 这样一个数组的结构体更方便, 不知道你用的开发语言是不是没有结构体?
如果没有 也可以,就是操作两次而已 例如A[2][3] ,你想象一下就是这样的 第一行显示的是数据 int,第二行是时间int(日期可以转换为毫秒的)
123 582 892
1050 1140 1330
你要删除 582 这个数据 就相当于A[0][1] 和A[1][1]的数据不要,再把后面的数据往前移动,只是数组添加和删除很麻烦,没有链表方便