永发信息网

c++怎么在一个数组里用代码实现删除一个数

答案:2  悬赏:40  手机版
解决时间 2021-04-23 00:08
c++怎么在一个数组里用代码实现删除一个数
最佳答案
第一种:可以将要删除的数置为一个不可能用到的数,比如INT_MAX,然后遍历的时候跳过这个数,这时删除操作的速度回比较快,不过删除后那个数字的空间仍然被占用,不可被再次利用

第二种:把后面的数依次向前移动一格,占掉要删除的数的位置,这样被删除的数的空间可以被再次利用,不过速度会比较慢
全部回答
常规意义上的数组不能删除某个元素,静态、动态都不行。对于动态数组,变通的办法就是把被删除元素后面的所有元素都往前挪动一个格,然后把表示数组大小的变量减1。这样样只是模拟了下,数组还是那么大,只是挪出来的空位不用了。如果要增加一个元素,要重新申请一块内存并复制所有旧元素然后释放旧内存。 说了一堆…… 比较好的方法,用c++的标准库容器vector、list。其中vector是顺序存放的数组,和c传统意义上的数组非常类似,但是管理的活标准库包办了。 vector nums; for(int i=10;i!=0;--i) nums.push_back(i);//往这个vector里加入了10次元素 nums.erase(nums.begin());//删除开始的 vector因为是顺序存储的,在插入、删除的时候效率很低,不执行随机访问的话可以用list。具体容器的内容可以看看标准库的书,比我这里说来的清楚多了 o(∩_∩)o~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黑弓流最早的创始人是谁?
滴滴打车快不快
爱你~~~~你难受不开心,我应该怎么办~~一起笑
圆锥的侧面积和全面积
不然对不起自己 用日语怎么说 5分
怎么查岳家家谱
没什么时候人少好?
珍爱生命的名言警句,关于珍惜生命的名言警句
服用消炎药期间可食燕窝吗
完美告白 为什么不播了
顺达电动工具在哪里啊,我有事要去这个地方
我家电脑上的《骑马与砍杀》为什么卡的没法玩
火箭队下赛季会交易麦蒂吗?
怎样才能让心情变好点
非主流过期了吗
推荐资讯
南京28路公交车从长途东站到湖西街的末班车是
手里边旁很自由打一字?
假如只是假如
隆恩地板地址在哪,我要去那里办事
推荐几个手机网站,里面有大量的胡子型男图片
经常梦见和自己最喜欢的明星关系很好,是不是
留下你做人的原则吧?
陈慧娴的歌,痴情意外是什么意思?
福建一区强化11的雕纹巨剑能卖多少?
唐山八中怎么样啊?
诺基亚N97为什么没有合适版本的QQ还有飞信?
郑州华信学院统招专科生毕业证真的只能在省内
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?