当前位置: 首页 > news >正文

做影视网站算侵权吗wordpress 去除下划线

做影视网站算侵权吗,wordpress 去除下划线,wordpress显示头像的节点,天津建设网站哪家好开篇 今天的问题#xff0c;是在之前变位词程序的基础上#xff0c;进行了一些拓展。问题来源于《编程珠玑》第2章#xff0c;课后习题1。 问题概要 考虑查找给定输入单词的所有变位词问题#xff0c;仅给定单词和字典的情况下#xff0c;如何解决该问题#xff1f;如果有…开篇 今天的问题是在之前变位词程序的基础上进行了一些拓展。问题来源于《编程珠玑》第2章课后习题1。 问题概要 考虑查找给定输入单词的所有变位词问题仅给定单词和字典的情况下如何解决该问题如果有一些时间和空间可以在响应任何查询之前预先处理字典又会如何? 思路分析 我们把上面的问题分别分为问题1和问题2。其中问题1对应下面思路分析1以及代码实现不允许预处理版本。问题2对应下面问题思路2以及代码实现可预处理版本。 思路分析1为了找出给定单词的所有变位词我们首先计算它的标识。如果不允许预处理那么我们只能顺序的读取整个字典计算每个单词的标识并比较两个标识。 思路分析2 如果允许进行预处理我们可以在一个预先计算好的结构中执行二分搜索该结构包含按标识排序的标识单词对。 代码实现 代码实现不允许预处理版本 #include stdio.h #include stdlib.h #include string.h#define MAX_WORD_LENGTH 100// 函数原型声明 void sortString(char *str); int isAnagram(char *word1, char *word2);int main() {char word[MAX_WORD_LENGTH]; // 存储输入的单词char dictWord[MAX_WORD_LENGTH]; // 用于存储从文件读取的单词FILE *dictFile, *outputFile;printf(Enter the word: );scanf(%s, word);sortString(word); // 对输入单词排序作为后续比较的基准dictFile fopen(dictionary.txt, r);if (dictFile NULL) {perror(Error opening dictionary file);return 1;}outputFile fopen(word.txt, w);if (outputFile NULL) {perror(Error opening output file);fclose(dictFile);return 1;}while (fgets(dictWord, MAX_WORD_LENGTH, dictFile) ! NULL) {// 删除读取的单词末尾的换行符dictWord[strcspn(dictWord, \n)] 0;if (isAnagram(word, dictWord)) {fprintf(outputFile, %s\n, dictWord);}}fclose(dictFile);fclose(outputFile);printf(Anagrams have been written to word.txt\n);return 0; }// 字符串排序函数用于生成单词的标识 void sortString(char *str) {int length strlen(str);int i, j;for (i 0; i length - 1; i) {for (j i 1; j length; j) {if (str[i] str[j]) {char temp str[i];str[i] str[j];str[j] temp;}}} }// 检查两个单词是否为变位词 int isAnagram(char *word1, char *word2) {char temp1[MAX_WORD_LENGTH];char temp2[MAX_WORD_LENGTH];strcpy(temp1, word1);strcpy(temp2, word2);sortString(temp1);sortString(temp2);return strcmp(temp1, temp2) 0; }代码实现: 可预处理版本 #include stdio.h #include stdlib.h #include string.h#define MAX_WORD_LENGTH 100 #define DICTIONARY_SIZE 1000typedef struct {char identifier[MAX_WORD_LENGTH];char word[MAX_WORD_LENGTH]; } WordEntry;WordEntry dictionary[DICTIONARY_SIZE]; int dictSize 0;// 函数原型声明 void sortString(char *str); int compareWordEntry(const void *a, const void *b); void loadDictionary(const char *filename); void findAnagrams(const char *word, const char *outputFilename); int binarySearchForAnagram(const char *identifier, int low, int high);int main() {loadDictionary(dictionary.txt);qsort(dictionary, dictSize, sizeof(WordEntry), compareWordEntry);char word[MAX_WORD_LENGTH];printf(请输入目标单词: );scanf(%s, word);findAnagrams(word, anagrams.txt);return 0; }// 加载字典文件 void loadDictionary(const char *filename) {FILE *file fopen(filename, r);if (!file) {perror(打开字典文件失败!);exit(1);}while (fgets(dictionary[dictSize].word, MAX_WORD_LENGTH, file)) {dictionary[dictSize].word[strcspn(dictionary[dictSize].word, \n)] \0;strcpy(dictionary[dictSize].identifier, dictionary[dictSize].word);sortString(dictionary[dictSize].identifier);if (dictSize DICTIONARY_SIZE) {break;}}fclose(file); }// 查找变位词 void findAnagrams(const char *word, const char *outputFilename) {char wordIdentifier[MAX_WORD_LENGTH];strcpy(wordIdentifier, word);sortString(wordIdentifier);FILE *outputFile fopen(outputFilename, w);if (!outputFile) {perror(打开输出文件失败!);exit(1);}int index binarySearchForAnagram(wordIdentifier, 0, dictSize - 1);while (index 0 index dictSize strcmp(dictionary[index].identifier, wordIdentifier) 0) {fprintf(outputFile, %s\n, dictionary[index].word);index;}fclose(outputFile); }// 二分查找 int binarySearchForAnagram(const char *identifier, int low, int high) {while (low high) {int mid low (high - low) / 2;int res strcmp(identifier, dictionary[mid].identifier);if (res 0) {while (mid low strcmp(dictionary[mid - 1].identifier, identifier) 0) {mid--;}return mid;} else if (res 0) {high mid - 1;} else {low mid 1;}}return -1; }// 排序以便给单词增加标识 void sortString(char *str) {int length strlen(str);int i, j;for (i 0; i length - 1; i) {for (j i 1; j length; j) {if (str[i] str[j]) {char temp str[i];str[i] str[j];str[j] temp;}}} }// 比较 int compareWordEntry(const void *a, const void *b) {const WordEntry *entryA (const WordEntry *)a;const WordEntry *entryB (const WordEntry *)b;return strcmp(entryA-identifier, entryB-identifier); } 注 以上便是变位词程序拓展问题的实现。因个人能力问题代码若有不合理之处还请指正。
http://www.zqtcl.cn/news/837719/

相关文章:

  • 湖北网络营销网站市场营销策划案
  • 政务信息系统网站建设规范上海网站开发制作公司
  • 网站公众平台建设方案湖南seo优化报价
  • 企业网站制作公司discuz 转wordpress
  • 可信网站是什么意思应用软件开发平台
  • 上海市官方网站福建省中嘉建设工程有限公司网站
  • 备案之后怎样把 放到网站上大连建设网球场价格
  • dkp网站开发今天最新新闻
  • 山东省环保厅官方网站建设项目东莞寮步网站设计
  • 网站开发可能遇到的问题附近电脑培训班位置
  • 如何查看域名以前是做什么网站的网站索引下降如何解决
  • 潜江 网站建设扬中话
  • 网站建设项目方案ppt广州建站模板平台
  • 房产部门成立网站免费seo推广软件
  • python做网站好处百度指数分析报告
  • 网站建设挣钱班级介绍网页制作模板
  • 工作室 网站建设app公司
  • 自己做的网站怎么在百度搜索到网页制作论文3000字
  • 如何网站托管中国跨境电商平台有多少
  • 手机p2p网站做平面设计兼职的网站有哪些
  • 贵金属网站建设唐山网站制作工具
  • 网站入门成都网站制作沈阳
  • 接做网站单子的网站做网站要会那些ps
  • 做盗市相关网站wordpress速度优化简书
  • 贵阳手机网站建设公司国内永久免费云服务器
  • 温州做网站定制哪家网络推广公司好
  • 招聘网站怎么做线下活动网站后台管理系统怎么开发
  • 西湖区外贸网站建设商梦建站
  • 网站首页设计注意斗蟋蟀网站建设
  • 石家庄网站建设远策科技网站建设公司人员配备