#include <iostream>
using namespace std;
struct Entry{
Entry()
{
count=place=0;
}
int count;
int place;
};
void FindFisrtChar(char *str)
{
//如果是字符不是只有字母,则数组大小为256
Entry record[26];
int i;
for (i=0;i<strlen(str);i++)
{
if (record[str[i]-'a'].count==0)
{
record[str[i]-'a'].place=i;
}
record[str[i]-'a'].count++;
}
int min=strlen(str);
for (i=0;i<26;i++)
{
if (record[i].count==1 && record[i].place<min)
{
min=record[i].place;
}
}
cout<<"第一个只出现一次的字符 "<<str[min]<<endl;
}
int main()
{
char *str="abaccdef";
FindFisrtChar(str);
}
hash 表的简单统计使用。