• .NET :如何对数组进行排序


    这些天仍然在讲数据结构方面的课程,关于数组的排序问题,下面是一个简单的范例

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ArraySample
    {
        /// <summary>
        /// 这个例子程序是用来演示对数组的排序,自定义排序,和利用linq语法进行处理
        /// 作者:陈希章
        /// </summary>
    
        class Program
        {
            static void Main(string[] args)
            {
                int[] numbers = new[] { 1, 3, 7, 45, 3, 9, 0, 2 };
                Console.WriteLine("原始数组");
                PrintArray(numbers);
                Console.WriteLine("升序排列");
                Array.Sort(numbers);//默认为升序
                PrintArray(numbers);
    
                Console.WriteLine("自定义排序");
                Array.Sort(numbers, new MyComparer<int>());
                PrintArray(numbers);
    
                Console.WriteLine("利用LINQ进行排序");
                var query = from n in numbers
                            orderby n descending
                            select n;
    
                PrintArray(query);
    
                Console.Read();
            }
    
            static void PrintArray(IEnumerable<int> arr) {
                
                foreach (var item in arr)
                {
                    Console.Write(item);
                    Console.Write(" ");
                }
                Console.WriteLine();
            }
        }
    
        /// <summary>
        /// 自定义的比较器,实现降序排列
        /// </summary>
        /// <typeparam name="T"></typeparam>
        class MyComparer<T> : IComparer<T>
            where T : IComparable
        {
    
            #region IComparer<T> 成员
    
            public int Compare(T x, T y)
            {
                return -x.CompareTo(y);
            }
    
            #endregion
        }
    }
    
    image 
  • 相关阅读:
    vue_03
    vue03
    vue2
    vue02
    vue 01
    JavaScript要点 (一) 变量-作用域
    在iOS应用程序中打开设备设置界面及其中某指定的选项界面
    多线程操作Coredata(转)
    iOS_城市定位
    本地验证码
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1625051.html
Copyright © 2020-2023  润新知