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

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

前言:

使用委托自定义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];
        }
}

相关推荐

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

    2024-01-11 20:38:01       60 阅读
  2. C#面:如何定义委托

    2024-01-11 20:38:01       31 阅读
  3. c++定义数据结构适配std::sort

    2024-01-11 20:38:01       33 阅读
  4. C++ sort()排序详解

    2024-01-11 20:38:01       35 阅读
  5. C# —— Sort排序

    2024-01-11 20:38:01       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-11 20:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-11 20:38:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-11 20:38:01       82 阅读
  4. Python语言-面向对象

    2024-01-11 20:38:01       91 阅读

热门阅读

  1. R语言【base】——unlink():删除文件和目录

    2024-01-11 20:38:01       55 阅读
  2. 记录学习--校验文件的SHA、MD5

    2024-01-11 20:38:01       57 阅读
  3. Leetcode16-有多少小于当前数字的数字(1365)

    2024-01-11 20:38:01       53 阅读
  4. 【OpenCV学习笔记】- 学习笔记目录

    2024-01-11 20:38:01       62 阅读
  5. 文件分割与合并

    2024-01-11 20:38:01       61 阅读
  6. 力扣_数组25—柱状图中最大的矩形

    2024-01-11 20:38:01       44 阅读
  7. 线程池如何知道一个线程是否执行完成

    2024-01-11 20:38:01       55 阅读
  8. Mxnet导出onnx模型

    2024-01-11 20:38:01       46 阅读