当前位置: 首页 > news >正文

C#-sort()利用委托自定义排序

文章速览

  • 前言:
  • 核心代码:
  • 完整示例:对链表实现自定义排序
    • 1、链表类
    • 2、解决方案:

坚持记录实属不易,希望友善多金的码友能够随手点一个赞。
共同创建氛围更加良好的开发者社区!
谢谢~

前言:

使用委托自定义Sort()方法,实现排序
例子:演示的是对链表的排序
(力扣算法中等题:147、对链表进行插入排序的非标准解法)

核心代码:

委托自定义排序

			//委托自定义排序list.Sort((x, y) =>{if(x.val > y.val){return 1;}else if(x.val < y.val){return -1;}return 0;}                );

完整示例:对链表实现自定义排序

1、链表类

//Definition for singly-linked list.
public class ListNode {public int val;public ListNode next;public ListNode(int val=0, ListNode next=null) {this.val = val;this.next = next;}}

2、解决方案:

以val的值为标准,对链表进行排序;
返回链表的头节点

public class Solution {public ListNode SortList(ListNode head) {if(head.next == null){return head;}ListNode currrent = head;List<ListNode> list = new List<ListNode>();while(currrent != null){list.Add(currrent);currrent = currrent.next;}//委托自定义排序list.Sort((x, y) =>{if(x.val > y.val){return 1;}else if(x.val < y.val){return -1;}return 0;}                );for( int i = 0; i < list.Count - 1; i++){list[i].next = list[i + 1];}list[list.Count - 1].next = null;return list[0];}
}

相关文章:

  • 肯尼斯·里科《C和指针》第6章 指针(2)
  • 安防视频云平台/可视化监控云平台ARM版EasyCVR无法下载录像文件,如何解决?
  • 一文速学-selenium高阶性能优化技巧
  • GoZero微服务个人探索之路(三)Go-Zero官方rpc demo示例探究
  • Oracle12c创建表空间及用户
  • Java并发编程——伪共享和缓存行问题
  • 挖种子小游戏
  • Linux下安装Mysql8.0版本【保姆级】
  • 「HDLBits题解」Conditional
  • Spring MVC中的方法的返回值!!!
  • 安防视频监控系统EasyCVR设备分组中在线/离线数量统计的开发与实现
  • LeetCode 589. N 叉树的前序遍历
  • sqlmap性能优化
  • Visual Studio常用快捷键及调试操作
  • 46-数组创建,添加,删除,查找,反转,拼接,截取,转换,反转
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • bootstrap创建登录注册页面
  • docker-consul
  • HTTP 简介
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java面向对象及其三大特征
  • Laravel5.4 Queues队列学习
  • Less 日常用法
  • MQ框架的比较
  • PHP那些事儿
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Spring框架之我见(三)——IOC、AOP
  • vue学习系列(二)vue-cli
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 蓝海存储开关机注意事项总结
  • 微信小程序设置上一页数据
  • 由插件封装引出的一丢丢思考
  • const的用法,特别是用在函数前面与后面的区别
  • Linux权限管理(week1_day5)--技术流ken
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #100天计划# 2013年9月29日
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (06)金属布线——为半导体注入生命的连接
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2)nginx 安装、启停
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C语言)球球大作战
  • (二十四)Flask之flask-session组件
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (四)linux文件内容查看
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)负载均衡,回话保持,cookie
  • ... 是什么 ?... 有什么用处?
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .Net下的签名与混淆
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .net专家(高海东的专栏)