怎么在一个数组中删除一个数,C++中

如题所述

第1个回答  2013-03-25
可以使用CArray中的RemoveAt(i)函数进行删除
第2个回答  2013-03-25
常规意义上的数组不能删除某个元素,静态、动态都不行。对于动态数组,变通的办法就是把被删除元素后面的所有元素都往前挪动一个格,然后把表示数组大小的变量减1。这样样只是模拟了下,数组还是那么大,只是挪出来的空位不用了。如果要增加一个元素,要重新申请一块内存并复制所有旧元素然后释放旧内存。
说了一堆……
比较好的方法,用C++的标准库容器vector、list。其中vector是顺序存放的数组,和C传统意义上的数组非常类似,但是管理的活标准库包办了。
vector<int> nums;
for(int i=10;i!=0;--i)
nums.push_back(i);//往这个vector里加入了10次元素
nums.erase(nums.begin());//删除开始的
vector因为是顺序存储的,在插入、删除的时候效率很低,不执行随机访问的话可以用list。具体容器的内容可以看看标准库的书,比我这里说来的清楚多了 O(∩_∩)O~本回答被网友采纳
第3个回答  2013-03-25
没搞懂什么意思?是删除某个元素 还是删除元素的值?
相似回答