相关疑难解决方法(0)

在(c#)库中使用List <T> vs LinkedList <T>的性能差异是什么?

可能重复:
我应该何时使用List vs LinkedList

这个问题与我之前合并过的问题有关:与List vs LinkedList相关

如果我希望不通过索引访问我的数据结构,那么使用LinkedList over List可以节省多少钱?如果我不是100%肯定我永远不会使用索引访问,我想知道区别.

假设我有N个实例.在LinkedList中插入和删除将只是ao(1)op,其中在List中它可能是O(n),但由于它已经优化,因此知道n的某些值的差异会很好.比如N = 1,000,000,N = 1,000,000,000

c# performance linked-list list

4
推荐指数
1
解决办法
3123
查看次数

内存问题的数组与列表

由于您需要在创建时输入数组的长度,我认为它需要一个可靠,连续的内存块.List可以动态扩展,这是否意味着它不需要连续的内存分配?这是否意味着List不太可能抛出"Out of Memory"异常?

c# arrays list

4
推荐指数
1
解决办法
922
查看次数

LinkedList无法序列化?

这是我的课程:http://pastebin.com/3dc5Vb1t

当我试图跑

BookStore b = new BookStore();
b.LoadFromXML(Server.MapPath("list.xml"));
Label1.Text = b.ToString();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

您必须在System.Collections.Generic.LinkedList`1 [[Book,App_Code.cxsacizw,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null]]上实现默认访问器,因为它继承自ICollection.

错误来源是 XmlSerializer s = new XmlSerializer(typeof(BookStore));

当我试图在谷歌上寻找解决方案时,我发现LinkedList在序列化方面存在一些问题.我怎么处理它?

非常感谢你.

c# xml-serialization

3
推荐指数
1
解决办法
4246
查看次数

在.net中链接列表是其他列表的基础类吗?

我在.net采访中被问到.net中链表的重要性.我回答说,在你需要做大量插入的地方使用了链表,但我从来没有在我写过的任何代码中使用链表.然后采访者告诉我,.net中的所有列表都使用链表作为其基础类型.当我回到家时,我找不到任何在线支持他的陈述.谁能评论他的陈述的有效性?

.net c#

3
推荐指数
1
解决办法
167
查看次数

LinkedList与List &lt;T&gt;

可能重复:
什么时候应该使用列表与链接列表

如果我不希望对数据结构使用按索引访问,那么通过在列表上使用LinkedList可以节省多少?如果不是100%确定我永远不会使用索引访问,我想知道两者之间的区别。

假设我有N个实例。在LinkedList中插入和删除只会是ao(1)op,而在List中可能是O(n),但是由于它已优化,所以很高兴知道n的某些值之间的区别。说N = 1,000,000和N = 1,000,000,000

c# performance linked-list list

1
推荐指数
1
解决办法
9283
查看次数

用于在给定索引处插入,删除和重新排列的高效C#数据结构

我正在寻找C#中一个高效的数据结构,它允许我保留一份(由用户)订购的项目列表,而不需要重复.

我的意思是由用户订购,即:

  • 插入元素1.
  • 在元素1之前插入元素2.
  • 将元素3插入1和2之间.然后随意重新排列.

我需要在更改时在数据库中不断更新订单,以便我可以在开始时加载它.

我需要的操作:

  1. 插入给定的索引
  2. 在给定索引处删除
  3. 从索引x移动到索引y(如果没有性能损失,可以表示为2和1的组合)

所有这些操作都将是频繁且同样重要的.

.net c# data-structures

1
推荐指数
1
解决办法
721
查看次数

链表是如何工作的?

我正在阅读一个教程,我也在谷歌上搜索过,但我找不到关于链接列表如何工作的详细说明的很好的解释......我真的对结构/格式感到困惑,我真的希望链接列表有意义对我来说,它们听起来很棒,因为它们是一个可调整大小和可修改的数组……如果您需要了解我在说什么,下面是我从 tut 中获得的一些代码。我对追加方法或删除等方法、它们的作用以及列表中的尾头事物的工作方式感到困惑......这本书只是从一个例子开始,没有给出解释..

请帮助解决这个困惑..

class ListEntry
{
    int data;
    ListEntry next;

    public ListEntry( int d )
    {
        data = d;
        next = null;
    }

    public int Data
    {
        get{ return data; }
        set{ data = value; }
    }

    public ListEntry Next
    {
        get{ return next; }
        set{ next = value; }
    }

    public override string ToString( )
    {
        return( data.ToString( ) );
    }
}


class TestProgram
    {
        static void Main( )
        {
            List list = new List( );

            list.Append( 3); …
Run Code Online (Sandbox Code Playgroud)

c# linked-list data-structures

-2
推荐指数
1
解决办法
2284
查看次数