gpt4 book ai didi

c# - 按自定义顺序排序

转载 作者:太空宇宙 更新时间:2023-11-03 19:23:59 24 4
gpt4 key购买 nike

我需要对一些代码进行排序,但方式很奇怪

我需要按非正常顺序排序,我需要先排序 40 岁,然后是 50 岁、90 岁、70 岁、80 岁、60 岁、20 岁、30 岁、10 岁、00 岁。

解决这个问题的最佳方法是什么?

它在 C#.net 3.5 中

最佳答案

您通常可以提供自定义方法来进行排序(排序方法或包含这些值的排序集合类)。

或者您是在问该方法中的算法应该是什么?

对于算法,可以使用以下方法:

int getFirstOrder(int v) {
if (50 <= v && v <= 59) {
return 1;
} else if (90 <= v && v <= 99) {
return 2;
}
// and so on
}

int Compare (int v1, int v2)
{
int o1 = getFirstOrder(v1);
int o2 = getFirstOrder(v2);

if (o1 < o2 || (o1 == o2 && v1 < v2)) {
return -1;
} else if (o1 > o2 || (o1 == o2 && v1 > v2)) {
return 1;
} else {
return 0;
}
}

我确信有一种更有效的方法(尤其是对于 getFirstOrder(),但这应该会让您走上正确的方向

关于c# - 按自定义顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com