⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 一個C語言hash表的實現 hash.c hash.h Makefile test2.c test.c
💻 C
字号:
#ifdef DMALLOC 	#include <dmalloc.h>#else	#include <stdlib.h>#endif#include <stdio.h>#include <unistd.h>#include <string.h>#include "hash.h" #define maxhash  10int work(void *key,void *data, void *userdata){		int *x = userdata ;	printf("%d %-8s-> %s\n",*x ,(char *)key,(char *)data) ;	(*x) ++;	return 0;}int main(int argc,char *argv[]){	int i ;		char key[20] ;	char data[20] ;		memset(key, 0, 20);	memset(data ,0, 20);	hashtable *tab = create_hashtable(2)  ;	for (i=0; i<maxhash; i++) {		sprintf(key, "key%d",i) ;		sprintf(data, "the line no: %d",i) ;		hash_insert((void *)strdup(key), (void *)strdup(data), tab) ;	}		/*	hash_remove("key3",tab) ; //	*/	printf("remove key4\n") ;			hash_remove("key4", tab) ;	for (i=0 ;i<maxhash; i++)	{		sprintf(key,"key%d",i) ;		printf("%s->%s\n",key,(char *) hash_value(key,tab));	}		hash_remove("key4", tab) ;	hash_remove("key4", tab) ;		printf("%s->%s\n","this is ", (char *) hash_value("this is ",tab));	printf("\n\n") ;	i=0;	hash_for_each_do(tab, work, &i) ;		printf("\n\nsize %d\n" ,hash_count(tab)) ; 	int cnt = hash_count(tab) ;	/*	char *keys[cnt] ;	char *d[cnt]  ;	int x = hash_toarray2(tab , keys, d) ;	for (i=0; i<x ;i++){	         printf("%s ->%s \n", keys[i], d[i]) ;	}*/	hash_free(tab) ;/*	exit(EXIT_SUCCESS) ; */	exit(0) ;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -