rt
现在的情况是我手中有一个struct A类型的数组a,这个A类型中每个结构里有个char型定长数组b,即字符串,现在要实现把这个结构体数组中的每个b读出,并且去掉相同的。请问如何实现。已经尝试过的算法有以下两种,因为那个A类型数组里有30万条左右的记录,所以很慢。
已试过的方法一:
一个装char型数组的vector c(实际保存的是char型指针)
sort(数组a),方法为比较其中的b
排好序后循环扫描a,读出其中b
{
从前往后塞进c中,并且判断,只有当下一个读到的与上一个塞的不相等,才塞他
}结果是很慢。。
大概要几秒
已试过的方法二:
一个装char型数组的vector c(实际保存的是char型指针)
循环扫描a类型的数组
{
用迭代器加find_if扫描c一遍,如果c中没有和a中字符串相等的
则加至c中
}这个竟然更慢求一个复杂度比较低的算法,能够在1秒左右完成30万条的类似distinct操作
不需要代码,只要算法和用到的函数即可
谢谢了。。坐等高手。。