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

📄 10-6.c

📁 数据结构的经典实现算法
💻 C
字号:
#include "stdio.h"
#include <string.h>
#define MAX_CHAR  10  /*max number of characters in an identifier */                                            
#define TABLE_SIZE 13 /*max table size = prime number*/   
typedef  struct  info{   
	char  key [MAX_CHAR ];
	 /* 其他数据 */
} element;
void init_table(element hashtable[ ])
{       
	int i ; 
    for ( i = 0 ; i < TABLE_SIZE ; i++ )
            hashtable[i].key[0]=NULL ; 
}
int transform  ( char *key )
{/* 把key转换成一个自然数*/
	int number = 0 ; 
    while   ( *key )
        number += *key++ ; 
    return number ; 
}
int hash(char *key )
{
   return (transform  (key )%TABLE_SIZE ) ; 
}
void linear_insert(element hashtable[],element item )
{/* 用线性查找,插入元素*/
        int i,hash_value ; 
        hash_value = hash  ( item.key ) ; 
        i = hash_value ; 
        while (strlen(hashtable[i].key ) ){
            if ( !strcmp( hashtable[i].key,item.key ))
                    exit(1) ; 
            i = (i+1)%TABLE_SIZE ; 
            if (i == hash_value ){
               printf ("哈希表已经满\n" ) ; 
               exit(1) ; 
            }
       }
       hashtable[i] = item ; 
}
void main()
{
	element  hash_table[TABLE_SIZE];
	element item;
	linear_insert(hash_table,item);
}

⌨️ 快捷键说明

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