我想从数组中删除一个元素。我有一个从1到9的整数的数组。我的算法搜索整行,如果行中的数字匹配数组中的数字,它删除数组中的数字。什么是最有效的算法来做到这一点?我正在考虑一个链表,因为我可以简单地缩短列表,但它可能会在以后引起混淆,并且可能不如数组。从数组中删除一个元素
0
A
回答
1
最有效的方法是使用另一个容器容器空白/完整阵列中每个插槽的标志。否则,每个元素都必须上移一个插槽。
0
这里有许多变量的简单方法可以给出一个很好的答案。
根据您的描述,您有2个数据结构,每个数据结构都有一个值列表,并且您想要从第一个结构中删除第二个结构中的所有值。第二种结构是什么样的结构?你有控制权吗?它是可以像set或unordered_set一样轻松快速地搜索的东西吗?还是它必须被迭代才能找到像链接列表这样的值?您要删除的数据结构是否需要按升序保存?
理想情况下,其中一个容器将不得不从头到尾迭代,而另一个容器将快速搜索。您希望您要删除的容器具有快速删除时间。如果数组需要按顺序保存,那么从数组中删除是一个耗时的过程,它需要A:将删除点的每个元素向前移动一个,然后跟踪数组的实际长度或B:复制数组的内容添加到缺少该元素的新数组中。真的,这里没有足够的信息来给你一个关于什么算法或容器最适合你的任务的好答案。
相关问题
- 1. 从数组中删除一些元素
- 2. 从数组中删除多个元素
- 3. 如何从另一个数组中删除数组元素?
- 4. 从perl中删除另一个数组中的一个数组中的元素
- 5. 从数组中删除元素从另一个阵列以JavaScript
- 6. Rails Ransack - 从数组中删除元素
- 7. 从mongo数组中删除null元素
- 8. 从静态数组中删除元素
- 9. 从数组中删除元素javascript
- 10. pl/sql从数组中删除元素
- 11. 从数组中删除元素
- 12. 如何从数组中删除元素?
- 13. 如何从数组中删除元素?
- 14. 从c数组中删除元素
- 15. 从char数组中删除元素(C)
- 16. 从数组中删除元素
- 17. 从数组中删除元素(拼接)
- 18. 从数组(Java)中删除空元素
- 19. 从数组中删除元素
- 20. 删除数组中一行的元素
- 21. 从reducer状态的数组中删除最后一个元素
- 22. 从多维数组中删除一个元素
- 23. 从多维数组中删除一个元素php
- 24. 从动态数组中删除一个元素
- 25. 从javascript数组中删除一个元素
- 26. 删除从一个数组在Javascript中指定值的元素
- 27. 从数组中删除元素和分配给一个变量
- 28. PHP - 从stdclass对象的数组中删除一个元素
- 29. 从元组列表中删除元素
- 30. 从数组中删除多个元素并创建一个动态数组C++
你问最高效的算法或容器?他们是两件不同的事情。 – chris
使用'std :: vector'除非你有理由不这样做。在大多数情况下,'std :: vector'的性能优于'std :: list'的性能。 – olevegard
不能从'int'数组中删除元素。他们有固定的大小,所以他们总是包含相同数量的元素。 – juanchopanza