使用C计算数组中字符串的唯一出现次数

时间:2014-04-02 13:20:57

标签: c arrays sorting

我有一个数组:

['abc','def','abc','ghi']

我想做的是计算

的出现次数

我能想到的唯一方法就是按照字母顺序对数组进行排序,然后通过它循环来询问我是否等于i + 1,然后再增加计数。

因此,从['abc','def','abc','ghi']的数组(现已排序)开始,我使用循环来确定array[0]是否等于array[1],等等。

if(array[i]==array[i+1]) {
    //increase the count 
}

我的主要问题是如何存储结果。我正在考虑制作另一个数组并将计数放在第二个数组中:

sortedArray = ['abc','abc','def','ghi']
countArray = [2,2,1,1]

但这是否适用于以后使用它?我想我需要删除重复项,所以我只是作为最终结果:

sortedArray = ['abc','def','ghi']
countArray = [2,1,1]

再次,这甚至可能吗?

有没有更好的方法来存储结果?我想接下来按照大多数重复排序数组,而不是按字母顺序排序,是否可以像这样独立地匹配数组呢?

我只想检查一下,实现这一目标并不是一个简单明了的方法,而且我并没有追求完全有缺陷的路线。

谢谢!

0 个答案:

没有答案