我很好奇O(n log n)是链表最好的.
我在C#中编写了一个基本的链表类.它有一个Node对象,它(显然)代表列表中的每个节点.
代码不使用IEnumerable,但是,我可以实现排序功能吗?我使用的语言是C#.在C#中有这样的例子吗?
我正在使用这个样本:
谢谢
我正在进行一项任务,告诉我假设我有一个带有标题和尾节点的单链表.它要我在位置p之前插入一个项目y.任何人都可以查看我的代码并告诉我,我是否在正确的轨道上?如果没有,你可以向我提供任何提示或指示(没有双关语)?
tmp = new Node();
tmp.element = p.element;
tmp.next = p.next;
p.element = y;
p.next = tmp;
Run Code Online (Sandbox Code Playgroud)
我想我可能是错的,因为我根本没有使用头部和尾部节点,即使在问题描述中特别提到它们.我正在考虑编写一个while循环来遍历列表,直到它找到p并解决问题,但这不会是恒定时间,是吗?
我有一个单独的链表,由于内存限制,我需要在恒定的空间中对它进行排序(换句话说,不应该使用与列表中的项目数成比例的额外空间).
链表的结构是:
head.item=您要排序的有效负载; 和head.next =下一个项目.对于我建立另一个列表的恒定空间折扣解决方案的要求,我需要就地进行.
我怎样才能做到这一点?