我需要按降序对列表进行排序。我该怎么做 ? 我有以下课程:
class Node
{
public int data;
public Node next;
}
class List
{
public Node head;
}
因此该方法必须具有以下签名
List Sorted(List x)
以便它返回另一个包含x元素但以降序排序的List。头部必须包含最大的元素。 我该如何实现?
答案 0 :(得分:0)
希望对您有帮助
var objectordered = object.OrderBy(o => o.Desc).ToList();
或使用“排序”
var objectordered = object.Sort((obj1,obj2) => obj1.Desc.CompareTo(obj2.Desc));
答案 1 :(得分:0)
这是一个效率低下的实现,比bubble sort慢。它在原位对作为参数提供的列表进行排序,而不创建列表的排序副本。如果需要创建副本,则可能需要自己实施复制。
@using (Html.BeginForm(actionName: "EditPermissions", controllerName: "Device", method: FormMethod.Post))
{
<table>
@{
foreach (var User in Model.Users)
{
var deviceUserPermission = Model.DeviceUserPermissions.FirstOrDefault(x => x.UserId == User.UserId) ?? new RulesEngine.DAL.DeviceUserPermission()
{ UserId = User.UserId, DeviceId = Model.DeviceId, PermissionId = 0 };
var selectList = new List<SelectListItem>();
foreach (var permission in Model.Permissions)
{
selectList.Add(new SelectListItem() { Text = permission.PermissionName, Value = permission.PermissionId, Selected = (permission.PermissionId == deviceUserPermission.PermissionId) });
}
<tr>
<td>
@User.Description
</td>
<td>
@Html.DropDownListFor(m => m.SelectedDeviceUserPermissions.FirstOrDefault(x => x.UserId == User.UserId).PermissionId, selectList, htmlAttributes: null)
</td>
</tr>
}
}
</table>
<input type="submit" value="Save" />
}