这个问题与我之前合并过的问题有关:与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
由于您需要在创建时输入数组的长度,我认为它需要一个可靠,连续的内存块.List可以动态扩展,这是否意味着它不需要连续的内存分配?这是否意味着List不太可能抛出"Out of Memory"异常?
这是我的课程: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在序列化方面存在一些问题.我怎么处理它?
非常感谢你.
我在.net采访中被问到.net中链表的重要性.我回答说,在你需要做大量插入的地方使用了链表,但我从来没有在我写过的任何代码中使用链表.然后采访者告诉我,.net中的所有列表都使用链表作为其基础类型.当我回到家时,我找不到任何在线支持他的陈述.谁能评论他的陈述的有效性?
可能重复:
什么时候应该使用列表与链接列表
如果我不希望对数据结构使用按索引访问,那么通过在列表上使用LinkedList可以节省多少?如果不是100%确定我永远不会使用索引访问,我想知道两者之间的区别。
假设我有N个实例。在LinkedList中插入和删除只会是ao(1)op,而在List中可能是O(n),但是由于它已优化,所以很高兴知道n的某些值之间的区别。说N = 1,000,000和N = 1,000,000,000
我正在寻找C#中一个高效的数据结构,它允许我保留一份(由用户)订购的项目列表,而不需要重复.
我的意思是由用户订购,即:
我需要在更改时在数据库中不断更新订单,以便我可以在开始时加载它.
我需要的操作:
所有这些操作都将是频繁且同样重要的.
我正在阅读一个教程,我也在谷歌上搜索过,但我找不到关于链接列表如何工作的详细说明的很好的解释......我真的对结构/格式感到困惑,我真的希望链接列表有意义对我来说,它们听起来很棒,因为它们是一个可调整大小和可修改的数组……如果您需要了解我在说什么,下面是我从 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)