单词查找树
单词查找树
分析:
1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 using namespace std; 5 int i,j,n,t,k; 6 string a[8001];//数组可以达到32*1024=32768,一个单词一个字节 ,一个换行符2个字节 7 string s; 8 int main() 9 { 10 //freopen("word.txt","r",stdin); 11 //freopen("word.out","w",stdout); 12 while(cin>>a[++n]);//读入文件中的单词并存储在数组a中 13 /* 14 while(cin>>s) 15 { 16 a[++n]=s; 17 } 18 */ 19 n--; 20 for(i=1;i<n;i++)//单词从小到大排序,选排可以改为快排sort(a+1,a+1+n) 21 { 22 for(j=i+1;j<=n;j++) 23 { 24 if(a[i]>a[j])//两个单词进行交换 25 { 26 s=a[i]; 27 a[i]=a[j]; 28 a[j]=s; 29 } 30 } 31 } 32 //cout<<n<<endl; 33 //for(i=1;i<=n;i++) cout<<a[i]<<endl; 34 t=a[1].length();//先累加第一个单词的长度 35 for(i=2;i<=n;i++)//依次计算每个单词对前一个单词的差 36 { 37 j=0; 38 while(a[i][j]==a[i-1][j]&&j<a[i-1].length()) 39 j++;//求两个单词相同部分的长度 40 t+=a[i].length()-j;//累加两个单词的差length(a[i])-j 41 } 42 cout<<t+1<<endl; 43 return 0; 44 } 45
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672