博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zoj 2876 Phone List
阅读量:7011 次
发布时间:2019-06-28

本文共 1907 字,大约阅读时间需要 6 分钟。

#include 
#include
#include
#define ZERO 0const int FIRST_CHAR = '0';char num[11111][20] ;typedef struct node{ struct node *child[20]; /* 存储下一个字符 */ int n; /* 记录当前单词出现的次数 */}node, *Node;Node root; /* 字典树的根结点(不存储不论什么字符) *//* 插入单词 */void insert(char *str){ int i, index, len; Node current = NULL, newnode = NULL; len = strlen(str); current = root; /* 開始时当前的结点为根结点 */ for (i = 0; i < len; i++) /* 逐个字符插入 */ { index = str[i] - FIRST_CHAR; /* 获取此字符的下标 */ if (current->child[index] != NULL) /* 字符已在字典树中 */ { current = current->child[index]; /* 改动当前的结点位置 */ (current->n)++; /* 当前单词又出现一次, 累加 */ } else /* 此字符还没出现过, 则新增结点 */ { newnode = (Node)calloc(1, sizeof(node)); /* 新增一结点, 并初始化 */ current->child[index] = newnode; current = newnode; /* 改动当前的结点的位置 */ current->n = 1; /* 此新单词出现一次 */ } }}/* 在字典树中查找单词 */int find_word(char *str){ int i, index, len; Node current = NULL; len = strlen(str); current = root; /* 查找从根结点開始 */ for (i = 0; i < len; i++) { index = str[i] - FIRST_CHAR; /* 获取此字符的下标 */ if (current->child[index] != NULL) /* 当前字符存在字典树中 */ { current = current->child[index]; /* 改动当前结点的位置 */ } else { return ZERO; /*还没比較完就出现不匹配, 字典树中没有此单词*/ } } if((current->n)>1) return 1; return 0; }void release(Node root){ int i; if (NULL == root) { return; } for (i = 0; i < 20; i++) { if ( root->child[i] != NULL ) { release( root->child[i] ); } } free( root ); root = NULL;}int main(){ int i,n,m,check; scanf("%d",&n); while(n--) { scanf("%d",&m); root = (Node)calloc(1, sizeof(node)); for(i=0;i

转载地址:http://knttl.baihongyu.com/

你可能感兴趣的文章
Azure China (3) 使用Visual Studio 2013证书发布Cloud Service至Azure China
查看>>
xmapp 404设置
查看>>
SQL Server中, DateTime (日期)型操作的 SQL语法
查看>>
iisweb服务器完美解决方案
查看>>
请教SQL Server登录失败的问题
查看>>
对象和流
查看>>
简单的兼容的login页面
查看>>
jquery之超简单的div显示和隐藏特效demo
查看>>
Oracle:PL/SQL 中如何使用Array
查看>>
[js - 算法可视化] 汉诺塔(Hanoi)演示程序
查看>>
Note:JSON
查看>>
分享.NET 3.0的书籍下载(持续更新中)
查看>>
几道有意思的逻辑分析题
查看>>
apache svn下新建一个项目
查看>>
高效 JavaScript 单元测试(转)
查看>>
[Windows Azure] What is a cloud service?
查看>>
使用C#的泛型队列Queue实现生产消费模式
查看>>
深入理解Tornado——一个异步web服务器
查看>>
软件架构师应该知道的97件事
查看>>
VMware、Citrix和Microsoft虚拟化技术详解与应用实践
查看>>