iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >c语言怎么实现单词搜索
  • 765
分享到

c语言怎么实现单词搜索

2023-06-30 04:06:21 765人浏览 薄情痞子
摘要

本文小编为大家详细介绍“C语言怎么实现单词搜索”,内容详细,步骤清晰,细节处理妥当,希望这篇“c语言怎么实现单词搜索”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。单词搜索给定一个 m x n 二维字符网格 boa

本文小编为大家详细介绍“C语言怎么实现单词搜索”,内容详细,步骤清晰,细节处理妥当,希望这篇“c语言怎么实现单词搜索”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

单词搜索

给定一个 m x n 二维字符网格 board 和一个字符串单词 Word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

c语言怎么实现单词搜索

代码解题如下:

int pi,pj;//static int r[100][100];void f(char** board,int n ,int m,int x,int y,char * word,int p,int **r, int *rz){    int a[4][2]={{0,-1},{-1,0},{0,1},{1,0}};   // printf(" %d ",r[x][y]);    int nx,ny;    int i,j;    int cc=0;    int l=0;    int zx,zy;       //printf("%d ",r);   // r[x][y]=1;    //printf(" --p %d %d ",p,rz);    if(m>=3)r[0][3]=0;   //printf("%d %c ",r[0][3],word[p]);    for(i=0;i<4;i++){                  nx=a[i][0]+x;            ny=a[i][1]+y;     //        if(nx==2)printf(" --nx ny   %d %d   %c",nx,ny,word[p]);            if(nx>=0&&nx<=n&&ny>=0&&ny<=m){                           if(r[nx][ny]>=1 &&r[nx][ny]<=p*2&&board[nx][ny]==word[p-1]){                         r[nx][ny]++;                                                          //    printf("%d %d ",nx,ny);                        f(board,n,m,nx,ny,word,p,r,rz);                        // f(board,n,m,pi,pj,word,p,r,rz);                        // f(board,n,m,0,0,word,p,r,rz);                                     }                  if(r[nx][ny]==0){            //    printf("ddf  sa  ");                    if(board[nx][ny]==word[p]){                        for(j=0;j<4&&j!=i;j++){                                                        zx=a[i][0]+x;                             zy=a[i][1]+y;                             if(board[zx][zy]==word[p]) {                                //  printf("&& %c %d %d  ",word[p],zx,zy);                                  r[zx][zy]=0;                            //      if(zx==0&&zy==3)                        //          printf("r %d %d %d ",r[zx][zy],zx,zy);                             }                        }                                                                       //       printf(" nx ny   %d %d   %c",nx,ny,word[p]);                        // p++;                     //    cc++;                        // printf("-- %c",word[p]);                          r[nx][ny]=1;                           printf("r %d %d %d  %d ",r[nx][ny],nx,ny);                         f(board,n,m,nx,ny,word,p+1,r,rz);                      }                 }                                           }        }       // printf(" --p %d %d ",p,rz);      // if(cc==0){r[x][y]=0;}        if(word[p]=='\0') {         //     printf(" **p %d  %d",p,rz);            *rz=1;}  //     // return true;}bool exist(char** board, int boardSize, int* boardColSize, char * word){    int i,j;    int n=boardSize-1;    int m=boardColSize[0]-1;    int p=1;    int x=0,y=0;    int row;    int z,w;    int rz=0;      //  r[x][y]=1;     //  printf("-- %d ",rz);      int **r = (int **)malloc(sizeof(int*) *boardSize );    for(row = 0 ; row < boardSize; row++)    {        r[row] = (int *)malloc(sizeof(int) * boardColSize[0]);          memset(r[row],0,sizeof(int) * boardColSize[0]);    }//    printf("%d %d ",n,m);    for(i=0;i<=n;i++){        for(j=0;j<=m;j++){         //   printf("%c ",board[i][j]);             if(board[i][j]==word[0]){                      for(z=0;z<=n;z++){                          for(w=0;w<=m;w++){                             r[z][w]=0;                          //    printf("%c ",board[i][j]);                              }                                }                            r[i][j]=1;                            pi=i;                            pj=j;                     f(board,n,m,i,j,word,p,r,&rz);                                                         }        }        } //   printf(" zz %d ",rz);    if(rz==1)return true;    else return false;}

读到这里,这篇“c语言怎么实现单词搜索”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。

--结束END--

本文标题: c语言怎么实现单词搜索

本文链接: https://www.lsjlt.com/news/327385.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么实现单词搜索
    本文小编为大家详细介绍“c语言怎么实现单词搜索”,内容详细,步骤清晰,细节处理妥当,希望这篇“c语言怎么实现单词搜索”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。单词搜索给定一个 m x n 二维字符网格 boa...
    99+
    2023-06-30
  • c语言单词搜索的实现
    单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺...
    99+
    2024-04-02
  • C++实现LeetCode(79.词语搜索)
    [LeetCode] 79. Word Search 词语搜索 Given a 2D board and a word, find if the word exists in the...
    99+
    2024-04-02
  • C语言实例实现二叉搜索树详解
    目录有些算法题里有了这个概念,因为不知道这是什么蒙圈了很久。 先序遍历: root——>left——>right 中序遍历...
    99+
    2024-04-02
  • C语言中find_package()的搜索路径的实现
    目录find_package()Module模式Config模式find_package(OpenCV REQUIRED) 如何设置查找路径/指定只用版本find_package()...
    99+
    2024-04-02
  • html5怎么实现语音搜索
    小编给大家分享一下html5怎么实现语音搜索,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 谷歌的...
    99+
    2024-04-02
  • C语言实现二叉搜索树的完整总结
    目录1、 二叉树的构建2、二叉树的遍历前序遍历中序遍历后序遍历层序遍历4、二叉树的高度5、二叉树的删除6、由几种遍历序列还原二叉树 前序序列、中序序列还原二叉树:中序序列、...
    99+
    2024-04-02
  • c#.net+SQL2005如何实现简单搜索
    今天就跟大家聊聊有关c#.net+SQL2005如何实现简单搜索,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。搜索函数 USE [DATA...
    99+
    2024-04-02
  • C语言中find_package()的搜索路径的实现是怎样的
    这篇文章给大家介绍C语言中find_package()的搜索路径的实现是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。find_package()内部用find_path()和find_library()实现的找...
    99+
    2023-06-22
  • C语言如何实现翻转字符串中的单词
    目录C语言翻转字符串中的单词另外开辟一个空间,来存放翻转的字符串直接在原数组上进行操作C语言字符串各单词的反转思路代码实现代码编译调试输出C语言翻转字符串中的单词 另外开辟一个空间,...
    99+
    2024-04-02
  • MySQL也可以实现分词搜索(FULLTEXT)
    FULLTEXT 以前使用查找时都是以 %关键字% 进行模糊查询结果的,这种查询方式有一些缺点,比如不能查询多个列必须手动添加条件以实现,效率不高等 现在有一种新的查找方式可以解决以上问题,就是使用全文索引进行查找 注意:并非所有存储引擎都...
    99+
    2023-08-22
    mysql 数据库 sql
  • PIC单片机C语言怎么实现
    PIC单片机是一种常用的嵌入式系统控制器,可以使用C语言来进行开发和编程。下面是一个简单的示例,演示如何使用C语言来实现一个PIC单...
    99+
    2023-09-21
    C语言
  • HTML5怎样实现语音搜索
    这篇文章主要为大家展示了“HTML5怎样实现语音搜索”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML5怎样实现语音搜索”这篇文章吧。Html5支持语音搜索...
    99+
    2024-04-02
  • 怎么用ajax实现简单搜索功能
    这篇文章主要讲解了“怎么用ajax实现简单搜索功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用ajax实现简单搜索功能”吧!本文实例讲述了基于aja...
    99+
    2024-04-02
  • android简单搜索框功能怎么实现
    要实现一个简单的搜索框功能,可以按照以下步骤进行操作: 在布局文件中添加一个EditText作为搜索框,同时添加一个按钮用于触发搜...
    99+
    2024-03-11
    android
  • C语言实现统计一行字符串的单词个数
    目录问题简述解题思路程序代码测试结果问题简述 输入一行字符,统计其中有多少个单词,单词之间用空格分开 输入样例: I want to be a postgraduate. 输出样例:...
    99+
    2024-04-02
  • 怎么用html5实现语音搜索框
    本篇内容主要讲解“怎么用html5实现语音搜索框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用html5实现语音搜索框”吧!我们先看下他们的不同显示。下面...
    99+
    2024-04-02
  • 微信小程序搜索关键词高亮怎么实现
    本篇内容介绍了“微信小程序搜索关键词高亮怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!项目中碰到一个需求,微信小程序搜索数据并且关键...
    99+
    2023-06-27
  • java怎么实现搜索框搜索功能
    要实现搜索框搜索功能,可以按照以下步骤进行:1. 在前端页面上创建一个搜索框,如一个文本框和一个按钮。2. 在后端创建一个处理搜索请...
    99+
    2023-09-26
    java
  • C语言单线程怎么实现异步
    在C语言的单线程环境中,要实现异步,可以使用以下几种方式:1. 使用信号(Signal):可以使用 `signal` 函数来设置信号...
    99+
    2023-10-12
    C语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作