optima.hash-pattern - Optima 的哈希表模式 optima.hash-pattern 是的扩展,它提供了一些模式来匹配常见的 lisp 哈希表。 有一种构造器模式和一种派生模式。 哈希属性 hash-property模式类似于property模式,但匹配哈希表而不是 plist。 句法: (hash-property KEY PATTERN) 例子: (let ((tab (make-hashtable))) (setf (gethash :a tab) 1) (match tab ((hash-property :a x) x))) => 1 哈希表 hashtable模式类似于plist模式,但再次匹配哈希表而不是 plist 句法: (hashtable {KEY PATTERN}*) 扩张: (hashtable {k
2021-07-03 14:06:02 2KB CommonLisp
1
#include #include typedef struct node { int data; struct node *next; }node; init_hash(node **A,int n) { int i; for(i=0;idata=0; A[i]->next=NULL; } } insert_hash(node **A,int value,int n) { int key; node *p,*q; key=value%n; if(A[key]->next!=NULL) { p=A[key]->next; while(p->next!=NULL) p=p->next; q=(node *)malloc(sizeof(node)); q->data=value; q->next=NULL; p->next=q; } else { q=(node *)malloc(sizeof(node)); q->data=value; q->next=NULL; A[key]->next=q; } } int search_hash(node **A,int value,int n) { int key; node *p; key=value%n; if(A[key]->next==NULL) return 0; else { p=A[key]->next; while(p!=NULL) { if(p->data==value) return 1; } return 0; } } delete_hash(node **A,int value,int n) { int key; node *p,*q; key=value%n; p=A[key]; q=A[key]->next; while(q->data!=value) { p=q; q=q->next; } p->next=q->next; free(q); } print_hash(node **A,int n) { int i; node *p; for(i=0;inext!=NULL) { p=A[i]->next; while(p!=NULL) { printf("%d ",p->data); p=p->next; } } } printf("\n"); } main() { int i,n,value,Case; node **A; printf("输入待排序元素个数:\n"); scanf("%d",&n); A=(node **)malloc(sizeof(node*)*n); //申请一个指针型数组A[n] init_hash(A,n);//初始化数组A printf("输入hash表的值(空格键分开):\n"); for(i=0;i
2021-07-03 13:48:38 2KB 哈希表 查找 链表 添加
1
拼写检查程序 C 程序设计使用哈希表在将 173,531 个单词的字典从磁盘加载到内存后对文件进行拼写检查。有三个不同的文件用于完成此任务 Speller.c、hash.c 和字典。 C Speller.c 是执行程序拼写检查组件的文件。 在检查正确数量的参数后,该函数将加载到字典中并计算时间以执行此操作。 加载字典并打开字典文件后,有一个 for 循环检查文件中的每个字符,直到它到达 EOF。 然后检查是否只将字符添加到数组单词中,如果它是字母字符或撇号,然后整数索引增加。 它还检查以确保输入的单词是否长于它在字符串的其余部分中占用的最大单词长度,然后将索引变为 0 以计算下一个单词。 主要功能还通过使用 isdigit:copyright: 确保忽略带有数字的单词,并且只附加字母字符的内容。 当索引号不在复位点时,则发现了一个新词,因此更新了词计数器,并且在索引位置处的词数组中添加了一个空终止字符。
2021-07-02 15:04:08 469KB C
1
基于哈希表的词典,其中包含单词拼写检查功能,使用最长公共子序列完成。大学课程设计作业,有很多不足之处,主要在于分享思路,介意请勿下载。
2021-07-01 10:10:27 488KB 哈希表 拼写检查 动态规划
1
输入:待哈希数据序列 功能要求:输出哈希方法和解决冲突的方法(文字输出),输出哈希表
2021-06-30 10:30:01 1KB 哈希表 查找 算法 C语言
1
针对某个集体中人名设计一个哈希表,使得平均查找长度不超过R,并完成相应的建表和查表程序。假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。
2021-06-29 11:11:07 186KB 哈希表设计,数据结构
1
该文件包含了数据结构课程实验中的四个小实验,里面的源代码均在vc6.0下调试通过……欢迎下载!
1
数据结构课设哈希表对话框式图形化操作界面
2021-06-24 20:20:28 9KB 哈希表 图形化操作
1
哈希表的设计与实现课程设计 问题描述:针对某个单位电话号码簿,设计一个哈希表,并完成相应的建表和查表程序。 基本要求:设每个记录有下列数据项:电话号码、用户名、住址。从键盘输入各记录,以用户名为关键字建立哈希表,哈希函数用除留取余数法构造,采用线性探测法解决冲突。可以插入、查找、删除并显示给定用户名的记录,并计算查找长度, 哈希表保存到文件中,并能从文件中读取数据。 测试数据:取某个单位电话号码簿中的30个记录。 提高要求: (1)将电话号码薄以文件形式保存到盘上,能够按用户名和电话号码两种形式建立哈希表并实现插入、查找、删除表中元素的功能。 (2)对于相同的哈希函数,采用两种或两种以上的处理冲突的方法,如线性探测法和拉链法,比较不同的处理冲突的方法平均查找长度的变化。测试时,采用同一组测试数据,分别用不同的方法处理冲突,记录并输出各自的平均查找长度。 (3)设计图形用户界面
2021-06-23 13:02:47 5KB 哈希表
(0积分上传,如有需要,在任意博客下留言邮箱即可)C语言实现通讯录查询系统,利用数据结构中的散列表(哈希表),附带完整实践报告。编译器:Dev-C++。
2021-06-23 12:54:48 264KB 数据结构 通讯录 哈希表 散列表
1