Sort简单排序

List<T> 类型排序:

public List<ProductionMaterialModel> OrderBybom(List<ProductionMaterialModel> bommodel, bool prace)
{

List<ProductionMaterialModel> bomlist = new List<ProductionMaterialModel>();
try
{
if (bommodel != null && bommodel.Count > 0)
{
var is_stringa = 0;
var is_stringb = 0;
bommodel.Sort((a, b) =>
{
string ia = Regex.Match(a.place_no, @"\d+$").Value;//正则匹配时否是整数开头
string ib = Regex.Match(b.place_no, @"\d+$").Value;
int.TryParse(a.place_no, out is_stringa);//验证字符串是否包含数字,0 false,1 true
int.TryParse(b.place_no, out is_stringb);
return (ia != "" && ib != "" && is_stringa != 0 && is_stringb != 0) ? int.Parse(a.place_no) - int.Parse(b.name) : string.Compare(a.name, b.name);//判断比较的两个string是否是空值或字符串如果不是则按数字排序,排序结果顺序为:字符—数字—字母—汉字
});
foreach (var item in bommodel)
{
if (!string.IsNullOrWhiteSpace(item.place_no))
{
      bomlist.Add(item);//剔除为空的string
}
}
if (prace)
{
      bomlist.Reverse();//将整个集合的元素反转
}
bomlist.AddRange(bommodel.Where(p => string.IsNullOrWhiteSpace(p.place_no)).ToList());//累加为空的string持续放到最后
}
}
catch (Exception ex)
{

throw;
}

return bomlist;

}

--供个人学习使用

时间: 2024-10-11 00:46:47

Sort简单排序的相关文章

JavaScript 实现页面元素(ul-li)的简单排序

JavaScript 实现页面元素(ul-li)的简单排序 html页面: <input type="button" value="show" onclick="show()" /> <ul id="ul1"> <li>4</li> <li>3</li> <li>2</li> <li>1</li> </

排序算法之简单排序算法

一.前言 其实排序对于前端工程师来说没有后端那么重要,不过理解排序的原理还是比较有用的.例如有些应用数据比较少量的就不需要用后台来排序,如果用php后端脚本等排序会增加后台的开销.放在前端岂不是更好,当然我们有一个前端的排序神器sort.当然也做了很多得优化,不过用sort排序还需要注意一点,sort默认不传参数时候的排序是按照字母顺序对数组中的元素进行排序,其实就是按照字符编码的顺序进行排序.        今天主要复习一下简单得排序,分别为冒泡排序.插入排序.选择排序,冒泡目前是我认为最简单

UVA - 10905 - Children&#39;s Game (简单排序)

UVA - 10905 Children's Game Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description 4thIIUCInter-University Programming Contest, 2005 A Children's Game Input: standard input Output: standard output Problems

排序算法之简单排序(冒泡、选择、插入)

1.基本概念 内部排序和外部排序 根据排序过程中,待排序的数据是否全部被放在内存中,分为两大类: 内部排序:指的是待排序的数据存放在计算机内存中进行的排序过程: 外部排序:指的是排序中要对外存储器进行访问的排序过程. 内部排序是排序的基础,在内部排序中,根据排序过程中所依据的原则可以将它们分为5类:插入排序.交换排序.选择排序.归并排序:根据排序过程的时间复杂度来分,可以分为简单排序.先进排序.冒泡排序.简单选择排序.直接插入排序就是简单排序算法. 评价排序算法优劣的标准主要是两条:一是算法的运

数据结构-简单排序

在我们的业务中,有很多情况都需要根据某种需要针对要返回的数据进行排序,但是排序是一种非常耗时的操作,特别是当数据量大的时候,所有有时候我们也会说,数据的排序是很重要的,但是也是非常耗时间的.在这里简单介绍一下简单排序,这些排序算法执行速度较慢,但算法逻辑简单,在某些时候,比其他的复杂排序算法更加有效,同时也能帮助我们理解其他的复杂排序算法. 一.冒泡排序 冒泡算法的排序规则:重复比较相邻的两个元素,如果第一个比第二个大,就交换两个元素的位置,重复这个动作,就可以将最大值移动到后面.一趟(从第一个

ACM——简单排序

简单选择排序 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:836            测试通过:259 描述 给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中的简单选择排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列. 输入 共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤400,每个元素值范围为 [0,100000) 输出 三个部分 第1部分为两行,第1行输出文字“Source:

多校第二场 简单排序计算

思路:先按交叉相乘之差排序好了计算就行了. #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <map> #include <cstdlib> #include <queue> #include <stack> #include <vector> #include <ctype.

Spring Data JPA使用Sort进行排序(Using Sort)(转)

通过上一节的学习,我们知道了如何用@Query注解来实现灵活的查询.在上一节的示例中,我也尝试给出简单的排序,通过JPQL语句以及原生SQL来实现的.这样的实现,虽然在一定程度上可以应用,但是灵活度不够,因此结合@Query注解,我们可以使用Sort来对结果进行排序. 1.在CustomerRepository内添加方法 /** * 一个参数,匹配两个字段 * @param name2 * @param sort 指定排序的参数,可以根据需要进行调整 * @return * 这里Param的值和

erlang下lists模块sort(排序)方法源码解析(二)

上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel模块,因为我们先前主要分析的split_1_*对应的是rmergel,我们先从rmergel查看,如下 ....................................................... split_1(X, Y, [], R, Rs) -> rmergel([[Y, X