| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 351 人关注过本帖
标题:寻找公共前缀的程序
只看楼主 加入收藏
li362490567
Rank: 1
等 级:新手上路
帖 子:89
专家分:8
注 册:2015-7-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
寻找公共前缀的程序
#include<stdio.h>
#include<string.h>
#define MAX 10
typedef struct Trienode
{
    int nCount;
    struct Trienode* next[MAX];
}TrieNode;

TrieNode Memory[100000];
int allocp = 0;
TrieNode* CreateTrieNode()
{
    int i;
    TrieNode *p;
    p = &Memory[allocp++];
    p->nCount = 1;
    for (i = 0; i<MAX; i++)
    {
        p->next[i] = NULL;
    }
    return p;
}
void InsertTrie(TrieNode *pRoot, char *s)
{
    int i, k, h ;
    h=-1;
    TrieNode*p;
    p = pRoot;
    if (!p)
    {
        p = pRoot = CreateTrieNode();
    }
    i = 0;
    while (s[i])
    {
        k = s[i++] - '0';
        p->next[k] = CreateTrieNode();
        p = p->next[k];
    }
    p->nCount = -1;
}
int SearchTrie(TrieNode *pRoot, char *s)
{
    int length;
    length=strlen(s);
    int i,k;
    TrieNode *p = pRoot;
    for (i = 0; i < length; i++)
    {
          k = s[i] - '0';
           p=p->next[k];
        if (p == NULL)
            return 0;
        if (p->nCount == -1)
           return -1;
         
    }
    return 1;
}
int main(void)
{
    int num, i,j;
    scanf("%d",&num);
    getchar();
    char pnum[num][20];
    TrieNode *pRoot[num - 1];
    for(i=0;i<num-1;i++)
        pRoot[i]=NULL;
    while (num != 0)
    {
        for (i = 0; i < num; i++)
            gets(pnum[i]);
        for (i = 0; i < num - 1;i++)
            InsertTrie(pRoot[i], pnum[i]);
        for (i = 0; i < num - 1; i++)
        {
            j=SearchTrie(pRoot[i],pnum[num-1]);
            if (j == -1 || j == 1)
            {
                printf("NO");
                break;
            }
        }
        if (j == 0)
        printf("YES");
        scanf("%d",&num);
        getchar();
    }
    return 0;
}

这段程序有什么问题?反复检查多次,编译可以通过,但是运行时 ,出现.exe程序停止工作 对话框,是在win7下运行的
搜索更多相关主题的帖子: include Memory return 
2015-10-02 20:15
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:20 
代码没有注释,题目有没有描述清楚

一片落叶掉进了回忆的流年。
2015-10-02 22:46
快速回复:寻找公共前缀的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020119 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved