2 jwentao01 jwentao01 于 2015.07.24 10:53 提问

一个未满的整型数组,怎么求真实元素个数?

比如一个整型数组:int a[10]; 这个数组没有存放满10个数。我怎么知道其中的数据元素个数?

15个回答

91program
91program   Ds   Rxr 2015.07.24 11:04
已采纳

基本上不可能知道。
如果你一定想知道,可以试试给数组赋一个不会用到的初值,如:0xFFFFFFFF,或者 零。
然后对数组进行循环统计,看看哪些下标不再是初值,就是实际的元素。然后,统计一下个数即可。

jwentao01
jwentao01 谢谢,有道理!
2 年多之前 回复
u010488386
u010488386   2015.07.24 11:12

数组长度声明后每个元素有默认初始值,为0,没有所谓的存满吧(刚刚学习不知道对不对C#)。如果你知道你的赋值都不为0,可以通过判断元素非零的个数来判断数组元素赋值的个数。

strutce
strutce   Ds   Rxr 2015.07.24 11:31

int a[10]; 就算为放满,其实已经放满了,没有放值的都是被0替代了,存放的数据没有0还是可以算你放了多少个如果存在0就不能确定了
for (int i = arr.length-1; i>=0; i--){
if(arr[i]==0){
System.out.println(i);//数组个数
}
}

guandam
guandam 正解
大约一年之前 回复
strutce
strutce 回复依步_: 那就顺手采纳下,谢谢
2 年多之前 回复
jwentao01
jwentao01 谢谢,可能我太纠结这方面了
2 年多之前 回复
ruyi159
ruyi159   2015.07.24 10:57

你把数组遍历一遍,不就晓得咯!

jwentao01
jwentao01 未满的数组后,会补0,所以不知道怎么遍历
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.07.24 11:07

自己用一个变量保存索引,每次添加数据的时候,就用变量保存一下索引

oyljerry
oyljerry 回复依步_: 你可以把数组初始化放一个不会使用的数据。后面需要的时候就查找这个特定的数据
2 年多之前 回复
jwentao01
jwentao01 这是在添加数据时记录数据个数,是否可以在没有记录的情况下知道?
2 年多之前 回复
houerxiao
houerxiao   2015.07.24 11:15

通过循环,把索引求出来,就OK

xiewenhao12
xiewenhao12   2015.07.24 11:27

count=sizeof(arr)/4; //arr是数组,count是元素个数。

jwentao01
jwentao01 这个只能求整个数组可存放int型数据的个数,该数组在初始化时,只赋几个值,其他自动赋0了,想求的这几个数的个数,不包括后面自动补的0
2 年多之前 回复
xinyw
xinyw   2015.07.24 11:35

count=sizeof(arr)/4; //arr是数组,count是元素个数。

liliangde
liliangde   2015.07.24 11:53

没有意义吧,后面的元素被0替代了。怎么确定0是自己初始化的还是数组自动分配的呢,这个问题没有意义

u013829202
u013829202   Rxr 2015.07.24 14:09

java程序员也来凑热闹了。 没有length的话。 可以做一个标识。或者先循环一次就知道了,记下来。在进行+-操作。

共15条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片