菜鸟程序员的试验田

 
re: Trie—单词查找树 黄宇 2009-03-31 00:04
谢谢,学到东西了。
不过觉得博主的代码可以优化下,重复代码的地方太多。

比如说insert的C风格部分,我觉得可以改成,

void insert(const char* str)
{
int size = strlen(str);
insert<char*>(str, str + size);
}
====================================
这样子可以减少重复代码的部分,而且也方便以后修改嘛。

另外,貌似memset(child, 0, sizeof(child))应该改成memset(child, 0, size * sizeof(child))
这种是o(n)的
=====================================
static bool data[101] = {0};

int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int tmp;
cin >> tmp;
if (data[tmp])
{
data[tmp] = 0;
}
else
data[tmp] = 1;
}
for (int i = 1; i < 100; i++)
{
if (data[i] == 1)
{
cout << i << endl;
}
}
}
int main()
{
int n;
cin >> n;
set<int> data;
for (int i = 0; i < n; i++)
{
int tmp;
cin >> tmp;
if (data.find(tmp) != data.end())
{
data.erase(tmp);
}
else
data.insert(tmp);
}
copy(data.begin(), data.end(), ostream_iterator<int>(cout," "));
return 1;
}

导航

统计

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜