![]() |
1
4
您可以使用以下条件:
显然,在内部,这个循环覆盖所有值。
另一种方法(实际上应该避免循环)是重写所有写访问函数,并跟踪
更新
|
![]() |
2
2
如果没有分类,不。你打算怎么做?您需要检查每个元素,看看它是否为0!当然,memcmp也会检查每个元素。因为它还可以读取另一个数组,所以成本会高很多。
您唯一的选择是使用SIMD(从技术上讲,它仍然检查每个元素,但使用的指令更少),但通常不会在泛型数组中这样做。 (顺便说一下,我的答案假设你有一个简单的静态C/C++数组。如果您可以指定您拥有的数组类型,我们可以更具体一些。) |
![]() |
3
1
如果您知道这将是一个需求,那么您可以构建一个由数组(可能是动态的)和计数或当前非零单元格组成的数据结构。显然,单元格的设置必须通过抽象来实现,但这在c++中是很自然的,并且可以在c中使用不透明类型。 |
![]() |
4
1
假设您有一个N元素数组,您可以对一组基向量进行位检查。
您可以使用8元素零数组、4元素零数组、2元素零数组和1元素零数组对其进行测试。 只要知道要测试的数组的最大大小,就只需分配这些元素。此外,测试可以并行进行(如有必要,还可以使用程序集内部函数)。
|
![]() |
5
1
考虑使用
|
![]() |
6
0
不,您可以将数组与
你可以做的是使用C++中的算法,但里面仍然包含一个循环。 |
![]() |
7
0
您不必遍历整个过程,只需停止循环第一个非零值。
编辑:
|
![]() |
8
0
小刀,
|
![]() |
Toniq · javascript为php保存多维数组 1 年前 |
|
Jannis · Java中数组的怪异行为 1 年前 |
|
callum · 如何识别数组中与给定序列不匹配的元素? 1 年前 |
![]() |
tenfour · 如何使用数组元素的索引初始化数组元素 2 年前 |
![]() |
Guillaume · 使用操作从Python列表创建numpy数组 2 年前 |
![]() |
maxMas · Swift 5:为什么会出现索引超出范围错误? 2 年前 |