• 首字母排序算法


    1.自己就不主动思考了,纵览网页大都使用一个算法,如下。

    2.但有弊端,比如“重”字会误判为Z。再精于琢磨,使用专业软件中的dll等,这个我没下功夫。在这种情况下,我先单独处理。。。

    public static string GetFirstPY(string str)
            {
                string ret = string.Empty;
                foreach (char c in str)
                {
                    ret += GetPYChar(c);
                }
                return ret;
    
            }
    
            private static string GetPYChar(char c)
            {
                if (c.Equals('重')) return "C";
                string str = c.ToString();
                if ((int)c >= 32 && (int)c <= 126)
                {
                    return str;
                }
                byte[] array = new byte[2];
    
                array = System.Text.Encoding.Default.GetBytes(str);
    
                int i = (short)(array[0] - '') * 256 + ((short)(array[1] - ''));
    
                if (i < 0xB0A1) return "*";
    
                if (i < 0xB0C5) return "A";
    
                if (i < 0xB2C1) return "B";
    
                if (i < 0xB4EE) return "C";
    
                if (i < 0xB6EA) return "D";
    
                if (i < 0xB7A2) return "E";
    
                if (i < 0xB8C1) return "F";
    
                if (i < 0xB9FE) return "G";
    
                if (i < 0xBBF7) return "H";
    
                if (i < 0xBFA6) return "J";
    
                if (i < 0xC0AC) return "K";
    
                if (i < 0xC2E8) return "L";
    
                if (i < 0xC4C3) return "M";
    
                if (i < 0xC5B6) return "N";
    
                if (i < 0xC5BE) return "O";
    
                if (i < 0xC6DA) return "P";
    
                if (i < 0xC8BB) return "Q";
    
                if (i < 0xC8F6) return "R";
    
                if (i < 0xCBFA) return "S";
    
                if (i < 0xCDDA) return "T";
    
                if (i < 0xCEF4) return "W";
    
                if (i < 0xD1B9) return "X";
    
                if (i < 0xD4D1) return "Y";
    
                if (i < 0xD7FA) return "Z";
                return "*";
            }
    
    
    引用:
            codeS = codeS.OrderBy(x => GetFirstPY(x)).ToList();//using System.Linq;
    
  • 相关阅读:
    itextpdf 和 pdfbox 测试用例
    Java base64 编码、解码
    常用字体
    DIY 单片机 入门
    太难了。
    Java 之 native:JNI 本地方法测试实现
    Java 之 String 引用传递
    Java class 文件 方法的指令含义
    Spring学习文章链接
    数据结构_树_图_总结
  • 原文地址:https://www.cnblogs.com/gaara-zhang/p/10239223.html
Copyright © 2020-2023  润新知