00问答网
所有问题
在程序运行中,把动态数组中指定的一个元素删除,如何让其后的元素往前移?
如题所述
举报该问题
其他回答
第1个回答 2009-01-05
用ArrayList的remove方法元素自动前移:
public E remove(int index)移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。
参考资料:
jdk1.5说明文档
本回答被提问者采纳
第2个回答 2009-01-05
支持一楼,remove后将新数据再放到数组中,就可以了啊!或者用map等!
第3个回答 2009-01-05
int A[];
假如要删除index位置的元素,这样做就可以
for(int i = index; i < A.length;i++)
{
A[i] = A[i+1];
}
A.length --;//A数组的大小减1。
相似回答
如果
把动态数组中指定的一个元素删除,其后的元素
会不会
往前移?
答:
编辑源代码时将其删除,当然会前移
。程序运行中,无法删除吧?就算指针指为NULL,也是一个值,不会影响其它元素的位置。动态数组的概念,是在堆栈里面,而不是固定在内存中的数据段。
如果
把数组
中间
的元素删除
了后面的元素会不会
往前移动?
答:
不会,
需要你自己手动往前移动;或者 使用 vector
;vector也相当于数组, 也是连续的内存,但是删除后 会往前移动后面的元素;
c语言中给定
一个数组把
第二
个元素删除,
后面
的元素
顺序
前移
答:
for (i = 1;i < len-1;i++){ a[i] = a[i+1];} len是
数组的
长度,这样做数组的最后
一个元素
没变
...
一个
函数
删除数组中
所有的0,并将
其后元素往前移
。……作业截止日期...
答:
printf("\n删除0元素后的数组长度=%d,剩余元素为:",n);for(i=0;i<n;i++)printf("%d ",test[i]);return 0;} int del_zero(int *p,int n){ int i,j,temp,len=n;for(i=0;i<len;i++){ if(p[i]==0){ for(j=i;j<len;j++){ p[j]=p[j+1];} len--;} } retur...
大家正在搜
运行一个指定的程序
如果运行一个指定程序 必须装入
如果要运用一个指定的程序
如何让win10禁止某程序运行
怎么禁止运行指定程序
运行指定程序必须装入
怎么设置后运行的程序
系统无法执行指定程序
没有被指定在windows上运行
相关问题
如果把动态数组中指定的一个元素删除,其后的元素会不会往前移?
在C语言中,如何释放动态数组里面某一个元素所在的内存?
C++delete语句删除动态数组特定元素
java string类型的动态数组元素删除
c++中动态分配字符数组后,怎样给某个数组元素赋值?
在VB中若要重新定义一个动态数组的元素个数,应当使用(?)语...
如何把动态数据存到一个数组里