用二分法在顺序排列的字典中查找单词
typedef struct{           char word[20];/*单词名*/int count; /*单词计数器*/}KeyTab; KeyTab tab[M];
若找到,该单词计数器增1;若没找到,字典新增一个单词

根据题意自己写的代码,有可能有些错误,大家借鉴着看一下吧。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define inf 0x3f3f3f3f
#define M 1010typedef struct{char word[20];int count;
}KeyTab;
KeyTab tab[M];int main()
{int i;for(i=0;i<M;i++) tab[i].count=0,memset(tab[i].word,'\0',sizeof(tab[i].word));//初始化char s[20];int cnt=0;//单词计数 printf("请依次输入单词\n");while(1){scanf("%s",s);if(strcmp(s,"#")==0) break;if(cnt==0) tab[0].count++,strcpy(tab[0].word,s),cnt++;else{int l=0,r=cnt-1,mid,pos;while(l<=r)//二分{mid=l+r>>1;if(strcmp(tab[mid].word,s)<0) l=mid+1;else if(strcmp(tab[mid].word,s)>0) r=mid-1;else break;}if(strcmp(tab[mid].word,s)==0) tab[mid].count++;else{for(i=cnt;i>l;i--) tab[i]=tab[i-1];strcpy(tab[l].word,s);tab[l].count=1;cnt++;}}}for(i=0;i<cnt;i++) printf("%s %d\n",tab[i].word,tab[i].count);return 0;
}

主要是对二分法和结构体的考察。
努力加油a啊,(o)/~

二分法在顺序排列的字典中查找单词(二分)相关推荐

  1. python字典中找最小值_从包含元组值的字典中查找最小值和最大值

    我有一本名为cdc_year_出生的python字典.在 对于cdc_year_出生,关键是单位(在本例中,单位是一年),值是该单位中的出生人数:print(cdc_year_births) {200 ...

  2. python嵌套字典查找元素_在python中的嵌套json字典中查找值

    它有点长,但在上面的例子中:In [1]: import json In [2]: s = """\ ...: { ...: "A": { ...: ...

  3. python嵌套字典代码_python – 尝试在嵌套字典中查找唯一值的总和. (见例子!)

    假设我有这个变量list_1,它是一个字典列表. 每个字典都有一个名为"group"的嵌套字典,其中包含一些信息,包括"name". 我要做的是总结每个唯一组名 ...

  4. python查找单词的位置_如何在字符串/列表中查找单词的位置?

    我在写一个函数,用户输入一个单词,然后输入一个字符串,这个函数识别所有出现的单词以及该单词在字符串中的位置(尽管它实际上在中途被转换成了一个列表).在 我目前的代码只识别第一次出现的单词,没有进一步的 ...

  5. 在有空字符串的有序字符串数组中查找(二分)

    题意: 给定一个按照字典顺序排序的字符串数组 随意向数组中添加空串"" 查找字符串数组的非空串字符串返回其下标,不存在则返回-1 思路: 看见有序,可以考虑用二分法 但是数组中有空 ...

  6. java map 查找_在Java TreeMap中查找元素位置

    我正在使用StrMap TreeMap< String,String>的TreeMap,并使用它来实现词典. 然后我有一个文件的集合,并且想要在字典定义的向量空间(单词的空格)中创建每个文 ...

  7. idea在java文件中查找_Java开发工具IntelliJ IDEA使用源代码系列教程(四):在文件中搜索目标...

    IntelliJ IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为优秀的Java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.Ant.JUnit.CVS整合. ...

  8. 【python】取txt文件中的单词存到SQLite数据库,并且从bing词典爬取单词详情

    自己做一个单词词典,打算从bing词典爬单词. 单词怎么来? 取一些英文文本的txt文件,写一个py文件取txt中的单词存到SQLite数据库中. py文件的功能是: 选择出txt文本中的所有单词,正 ...

  9. pycharm 自动更正_如何在Android的自动更正词典中添加单词或短语

    pycharm 自动更正 If you type a lot of complex names, acronyms, or made-up words on your Android device, ...

最新文章

  1. POJ3122贪心或者二分(分蛋糕)
  2. ES6 Generator async
  3. k近邻回归算法python_经典算法之K近邻(回归部分)
  4. 用驴子拖宝马——怎样滥用结构体
  5. 从零开始学Pytorch(十六)之模型微调
  6. ServletContextListener Servlet侦听器示例
  7. mybatis和spring jdbc持久层框架事务支持分析
  8. DisC-Decompiler for TurboC
  9. 【直播预告】云栖社区特邀专家蒋泽银:Jpom一款低侵入式Java运维、监控软件...
  10. 国际化中的翻译工具poedit
  11. python更改pip源地址
  12. 23种设计模式学习记录之单例设计模式
  13. 独家解读 | 基于优化的对抗攻击:CW攻击的原理详解与代码解读
  14. 计算机毕业设计Android手机微博系统客户端app(源码+系统+mysql数据库+Lw文档)
  15. MongoError: The dotted field .. is not valid for storage
  16. 测试开发—码流、单码流、双码流、多码流
  17. 机器学习复习:线性回归1
  18. Android系统分区备份与还原
  19. PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
  20. 数字IC设计工程师成长四阶段

热门文章

  1. Windows下静态链接库的使用
  2. Xcode12.5的自定义代码块的使用和函数注释(学会事半功倍)
  3. mysql5.6.37免安装_mysql5.6免安装配置
  4. 事态升级是什么意思_第602期搞笑gif动图:不好意思,腿太长了,来个歪打正着...
  5. php 中文键名 问题,PHP中使用asort进行中文排序失效的问题处理
  6. QT_CONFIG宏用法及支持的参数
  7. FreeNOS源码编译
  8. Swift之旅--数据类型
  9. IntelliJ如何设置自动导包
  10. mac ntfs读写插件的双十一活动已经开始啦