zoukankan      html  css  js  c++  java
  • 顺序表

    #include<stdlib.h>
    #include<stdio.h>
    #include<string.h>
    #define MAX 10005
    typedef struct node
    {
        char a[16];
        int len;
    }node;
    node te,t[MAX];
    int n=0;
    
    void pp(node T)
    {
        int N[10005];
        int p=0;
        int i,j,k;
        int now;
        for(now=0;now<n;now++)//从now节点开始匹配
        {
            //模糊匹配
            int count=0;
            if(t[now].len==T.len)
            {
                for(i=0;i<T.len;i++)
                {
                    if(t[now].a[i]!=T.a[i])
                        count++;
                    if(count>1)
                        break;
                }
                if(count==0)
                {
                    printf("%s is correct
    ",T.a);
                    return;
                }
            }
            else if(t[now].len==T.len+1)//字典比带匹配串长
            {
                for(j=0,k=0;j<t[now].len;j++,k++)
                {
                    if(T.a[j]!=t[now].a[k])
                    {
                        j--;
                        count++;
                        if(count>1)
                            break;
                    }
                }
            }
            else if(t[now].len==T.len-1)//字典比待匹配串短
            {
                for(j=0,k=0;j<T.len;j++,k++)
                {
                    if(t[now].a[j]!=T.a[k])
                    {
                        j--;
                        count++;
                        if(count>1)
                            break;
                    }
                }
            }
            if(count==1)
            N[p++]=now;//记录字典的位置
        }
        printf("%s:",T.a);
        for(j=0;j<p;j++)
            printf(" %s",t[N[j]].a);
        printf("
    ");
    }
    
    int main()
    {
        while(~scanf("%s",t[n].a))
        {
            if(t[n].a[0]=='#')
                break;
            t[n].len=strlen(t[n].a);
            n++;
        }
        while(~scanf("%s",te.a))
        {
            if(te.a[0]=='#')
                break;
            te.len=strlen(te.a);
            pp(te);
        }
        return 0;
    }
  • 相关阅读:
    微信开发 接口测试
    微信开发 消息接口
    java微信学习 接入
    排序算法 java实现2
    排序算法 java实现
    第一篇博客
    Android——反编译持续完善
    Android——实用小技巧
    Android——网络编程
    Android——服务
  • 原文地址:https://www.cnblogs.com/1328497946TS/p/11051761.html
Copyright © 2011-2022 走看看