如字符串a为:0,1,2,3,4,5,6,7,8,9
b为:0,1,2,3,4
需要知道a中有多少数字和b中相同。
我现在是通过把a和b分别装入不同的数组,然后通过循环遍历。想问有其它的好方法吗?

解决方案 »

  1.   

    看字符的范围,如果仅只是字母和数字的话,就简单多了.
    用一个数组,当中各元素代表不同的字符,比如a[0]~a[9]代表数字0~9,a[10]~a[35]代表大写字母A~Z等等,然后对串进行遍历,把计数放到数组当中.
      

  2.   

    啊.....刚看到楼主在3楼做的解释.....集合可以用,但是编程就有些麻烦了....如果仅仅比对两个短的AnsiString,用集合是可行的。
      

  3.   

    就算是汉字也只是双字节,如果把它当成一个双字节的整形(Word)最大值也就只有65535,如此完全可以把每一个字或字符看作是一个Hash值,如果就只需要直接增加计数即可.这样子对于大的串,比如一千以上,几万,几十万,百万千万就相对快得多.