re: Trie—單詞查找樹 黃宇 2009-03-31 00:04
謝謝,學(xué)到東西了。
不過覺得博主的代碼可以優(yōu)化下,重復(fù)代碼的地方太多。
比如說insert的C風(fēng)格部分,我覺得可以改成,
void insert(const char* str)
{
int size = strlen(str);
insert<char*>(str, str + size);
}
====================================
這樣子可以減少重復(fù)代碼的部分,而且也方便以后修改嘛。
另外,貌似memset(child, 0, sizeof(child))應(yīng)該改成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;
}