C# 等价于 C++ 向量或双端队列

2024-05-10

我几乎可以肯定这应该是重复的,但我搜索了一段时间但找不到答案。我应该在 C# 中使用什么来替换 C++ 向量和双端队列有效率的。也就是说,我需要一种有效支持直接索引的结构,并且还支持以有效的方式再次从一端或两端删除(取决于向量或双端队列的情况)。

在 java 中,我通常至少使用 ArrayList 来表示向量,但对于 C# 我发现这个来源 http://www.dotnetperls.com/arraylist其中规定:ArrayList resizes dynamically. As elements are added, it grows in capacity to accommodate them. It is most often used in older C# programs.。那么有什么新方法可以做到这一点呢?再说一遍,我该如何处理双端队列案例?


没有内置的 Deque 容器,但有多种可用的实现。

Here's 斯蒂芬·克利里的一篇好文章 https://github.com/StephenCleary/Deque。这提供了 O(1) 索引操作以及在开头插入和在末尾追加的操作。

与 Vector 等效的 C# 是List<T> http://msdn.microsoft.com/en-gb/library/6sh2ey19.aspx。索引访问的时间复杂度为 O(1),但插入或删除的时间复杂度为 O(N)(最后插入的时间复杂度为 O(1))。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 等价于 C++ 向量或双端队列 的相关文章

随机推荐