C#-按日期对链表的项目排序
我有一个淋巴结C#-按日期对链表的项目排序,c#,sorting,datetime,linked-list,C#,Sorting,Datetime,Linked List,我有一个淋巴结 public class Node { public Node(Pupil pupil) { Data = pupil; Next = null; } public Pupil Data { get; set; } public Node Next { get; set; } } 上面有一个学生的出生日期。我像这样向列表中插入对象 public void Insert(Pupil pupil) {
public class Node
{
public Node(Pupil pupil)
{
Data = pupil;
Next = null;
}
public Pupil Data { get; set; }
public Node Next { get; set; }
}
上面有一个学生的出生日期。我像这样向列表中插入对象
public void Insert(Pupil pupil)
{
if (_head == null)
{
_head = new Node(pupil);
return;
}
Node current = _head;
while (current.Next != null)
{
current = current.Next;
}
current.Next = new Node(pupil);
}
但现在我有一个问题,就是如何按出生日期(瞳孔.出生日期)对学生进行排序。因为我不熟悉列表等,所以我不知道该怎么做。因为科罗纳在这里,我们基本上必须在大学里自学。
非常感谢您的帮助。假设您有一个名为
无序列表
的对象(以无序方式包含学生)和一个名为有序列表
的对象,该对象最初为空。然后您可以执行以下操作:
无序列表的元素
。你选择哪种元素并不重要。例如,您总是可以选择第一个(如果列表已经部分排序,这也是一个好主意)。让我们把这个元素称为temp
temp
添加到orderedList
的正确位置temp
无序列表
为空插入排序是一种相当原始的排序方法。其他方法(如快速排序、合并排序等)可能更快,但也更难实现。也许在这里你可以找到解决方案:有专门的库,用于对列表和集合进行操作,与SQL中的操作非常相似,称为LINQ,在业余时间查看它,它将在任何时候帮助你university@Hesh:如果OP真的必须实现链表,那么LINQ不会有多大帮助。@Xaver哦,我没有注意到这是链表。不管怎样,他可以检查林克未来的问题。是的,当然。LINQ是一个非常好的有用的工具。很遗憾,我需要手动操作。你能给我举个例子吗?我不知道如何编写这个。我更新了我的答案。我喜欢的维基百科文章包含了一个示例性的实现。谢谢