【发布时间】:2026-01-06 01:20:07
【问题描述】:
我正在使用 C#,我想在不使用额外内存的情况下对链表进行排序。
Input: listptr→ 11 → 8 → 2→ 4 → 5
Output: listptr→ 2 → 4 → 5 → 8 → 11
这是我的课:
public class SNode
{
public int data;
public SNode next;
}
我应该创建一个新的temp 变量来存储临时列表吗?
喜欢SNode temp = new SNode(2,NULL);?
这是家庭作业。
【问题讨论】:
-
为什么不用内置的
LinkedList<T>类? -
有什么问题?如何排序?如何分配内存?为什么要分配内存并且在问题中说要在不使用额外内存的情况下进行排序?
-
temp 只是保存你的 SNode 的地址。
-
在 C# 中(
unsafe代码除外),没有指针的概念。请记住,struct或primitive types变量是值,而class变量只是引用。 -
这是一个家庭作业问题 - 不知道是谁删除了标签。
标签: c# data-structures linked-list