zoukankan      html  css  js  c++  java
  • c# 字符串排序 (面试题)

    将一些字符串,如: "bc", "ad", "ac", "hello", "xman", "little", "during","day"

    排序的结果:ad”,"ac",bc”,during”,day”,hello”,little”,xman

    采用框架自带的排序函数来调用自定义的Compare方法实现,代码段如下所示:

    class Program
        {
            static void Main(string[] args)
            {
                string[] strArr = new string[] { "bc", "ad", "ac", "hello", "xman", "little", "during", "day"};
                List<string> strs = new List<string>();
                list.AddRange(strArr);
     
                /*
                 * Sort string by asc
                 * result : “ad”,"ac",“bc”,“during”,“day”,“hello”,“little”,“xman”
                 */
                list.Sort(new CompStr());
                foreach (string str in strs)
                {
                    Console.WriteLine(str);
                }
     
                Console.WriteLine("------------");
                
                //Sort string by desc
                list.Sort(new CompStrDesc());
                foreach (string str in strs)
                {
                    Console.WriteLine(str);
                }
                Console.ReadLine();
            }
        }
     
        public class CompStr : IComparer<string>
        {
            #region IComparer<string> Members
     
            public int Compare(string x, string y)
            {
                if (x.Length > 0 && y.Length > 0)
                {
                    if (x[0].CompareTo(y[0]) == 0)
                    {
                        return -x.CompareTo(y);
                    }
                }
                return x.CompareTo(y);
            }
     
            #endregion
        }
     
        public class CompStrDesc : IComparer<string>
        {
     
            #region IComparer<string> Members
     
            public int Compare(string x, string y)
            {
                if (x.Length > 0 && y.Length > 0)
                {
                    if (x[0].CompareTo(y[0]) == 0)
                    {
                        return x.CompareTo(y);
                    }
                }
                return -x.CompareTo(y);
            }
     
            #endregion
        }
    

      

  • 相关阅读:
    预警:亚马逊出售的监控摄像机存在预装恶意软件
    opendaylight+openvswitch环境部署
    keepalived+nginx实现高可用
    Huawei ipv6 bgp配置
    F5配置http跳转https
    F5配置ssl卸载
    IBGP路由重分布进IGP路由
    H3C NQA 配置
    Cisco N7K第三方光模块的使用
    Cisco C3850交换机重启后配置无法保存的故障处理
  • 原文地址:https://www.cnblogs.com/peasana/p/4081842.html
Copyright © 2011-2022 走看看