我想從數組中刪除一個元素。我有一個從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