其实关键就是单字符之间的大小比较,如果不想写一堆if...else语句的话,这种情况有一个很简单的办法,就是建立一个索引数组, 下标就是ASCII字符,值就是各个字符所对应的大小次序,利用这个数组,任何大小顺序都是实现,比如,对于你说的这种情况, 可以写成: comp_id['A'] = 0; comp_id['a'] = 1; comp_id['B'] = 2; comp_id['b'] = 3; ...... comp_id['0'] = 53; ...... 排序算法中的大小比较就可以写成这样的形式: if ( comp_id(ch1) < comp_id(ch2) ) { ..... }
排序算法都是通用的,如插入、选择、快排、shell等,对于不同的数据类型,差别只是在比较大小的算法 你只要按照你的要求写好字符串比较大小的函数,然后套用一个现成的排序算法就行了
13,825
社区成员
102,679
社区内容
加载中
试试用AI创作助手写篇文章吧