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
        }
    

      

  • 相关阅读:
    记一次干扰后处理特效的实现
    Cosine-Weighted采样算法
    PBR技术简介(三):菲涅尔公式
    PBR技术简介(二):Cook-Torrance BRDF
    PBR技术简介(一)
    Python函数的默认参数坑点解析
    屏幕空间环境光屏蔽(SSAO)探秘
    辐射度量学简介(二)
    辐射度量学简介(一)
    解决16bit压缩贴图失真问题
  • 原文地址:https://www.cnblogs.com/peasana/p/4081842.html
Copyright © 2011-2022 走看看