首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#链表优先级分组

c#链表优先级分组
EN

Stack Overflow用户
提问于 2016-05-06 02:18:47
回答 2查看 199关注 0票数 0

所以我想在C#中创建一个链表,而不是使用系统构建的链表类。

如果我有A-3 B-1 C-5 D-3 E-4 F-1 G-3 H-5的列表

我想将该列表排序如下:F-1B-1G-3D-3A-3E-4H-5C-5

字母表代表图书作者的姓氏首字母,数字代表作者对图书的评分。

我只需要了解如何对列表项进行优先级分组。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-05-06 02:29:23

看看优先级队列数据结构。来自wiki的描述:

在计算机科学中,优先级队列是一种抽象数据类型,它类似于常规队列或堆栈数据结构,但另外每个元素都具有与其关联的“优先级”。在优先级队列中,具有高优先级的元素在具有低优先级的元素之前被服务。如果两个元素具有相同的优先级,则根据它们在队列中的顺序为它们提供服务。虽然优先级队列通常是使用堆实现的,但它们在概念上与堆是不同的。优先级队列是一个抽象概念,类似于“列表”或“映射”;正如列表可以用链表或数组实现一样,优先级队列也可以用堆或各种其他方法(如无序数组)实现。

(https://en.wikipedia.org/wiki/Priority_queue)。它用于按优先级排序。您可以在C5库(IntervalHeap类)中找到实现- https://www.nuget.org/packages/C5

票数 0
EN

Stack Overflow用户

发布于 2016-05-06 02:35:33

为什么不使用普通的行列表并对其进行排序。不清楚列表中是否真的有字符串"A-1“,或者这些字符串是否是对象。我的猜测是对象。也是如此:

代码语言:javascript
复制
var sorted = list.OrderBy(o=>o.Ranking);

假设对象为

代码语言:javascript
复制
public class ObjThing
{
   public string Auhtor;
   public in Ranking;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37057559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档