用户可以使用map容器或者哈希表容器检测数据元素是否唯一。
eg:设计一个算法判断字符串 str中的每个字符是否唯一。如果是返回true,否则返回false。
解:
设计map<char,int>容器mymap,第一个分量key的类型为char,第二个分量value的类型为int,表示对应关键字出现的次数。将字符串str中的每个字符作为关键字插入到 map容器中,插入后对应出现次数增1。如果某个字符的出现次数大于1,表示不唯一,返回false;如果所有字符唯一,返回true.对应的算法如下:
bool isUnique(string &str)//检测str中的所有字符是否唯一
{ map<char,int>mymap;
for(int i=0;i<str.length();i++)
{ mymap[str[i]++;
if(mymap[str[i]]>1)
return false;
}
rrturn true;
}