问题:当要定义一个数组,而这个数组长度不确定,要在不浪费内存的情况下,请问如何定义这个数组?
具体需求:现在,需要输入一组数据(假设都为整型),但其数量不确定。需要在不浪费内存的情况下,将所输入数据创建为一个数组方便进行以后的操作。
例子:>>1 2 3 4 5
数据输入完后,则存在一个数组为arry[5].
附:本人小白一枚,还请不吝赐教。感谢!
相关问题
- Multiple sockets for clients to connect to
- What is the best way to do a search in a large fil
- glDrawElements only draws half a quad
- Index of single bit in long integer (in C) [duplic
- Equivalent of std::pair in C
没有其它要求了吗?
感觉先判断输入的是几个数字,然后在创建对应长度的数组就行了呀。我觉得是不是你漏掉了什么信息??
是不是要实现这样的效果:可以多次输入数字,数组要跟着变大?
如果是这样的,我觉得可以参考很多类库的做法:先实例化一个长度为n的数组,当其中的元素个数快达到n时,创建一个新数组,长度是n+m,然后把旧数组的数据复制到新数组。
这。。这不就是List吗。。
内部维护一个数组
一个物理长度字段
一个数组长度字段
当数组长度>物理长度,物理长度*2,
内存利用率始终>50%
每次根据输入的数据个数,来定义数组的长度即可。