读书人

请问一个简单算法有关问题

发布时间: 2012-02-06 15:52:45 作者: rapoo

请教一个简单算法问题
有几个unsigned long long 型数,要找出其中有多少个不同的数。

我是这么做的:

int count = 1;
int tmp;
std::vector <unsigned long long> vid;
std::vector <unsigned long long> ::iterator it = vid.begin();

...//push_back进vid成为一个无序的vector

sort(vid.begin(),vid.end());//排序

for(tmp = *it; it != vid.end(); ++it)
{
if(*it != tmp)
{
count++;
tmp = *it;
}
}

请问有什么问题或者有什么更好的方法吗,比如count_if()算法

[解决办法]
sort加unique
[解决办法]
用hash表也不错

读书人网 >C++

热点推荐