千家信息网

闭散列表的查找、插入和删除操作的完整C代码是怎样的

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,闭散列表的查找、插入和删除操作的完整C代码是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。/*闭散列表的建立、查找
千家信息网最后更新 2025年01月21日闭散列表的查找、插入和删除操作的完整C代码是怎样的

闭散列表的查找、插入和删除操作的完整C代码是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

/*闭散列表的建立、查找、插入、删除*/#include #define NIL -1  //假设关键字为非负整数#define DEL -2typedef int KeyType;KeyType HashTable[13];  //便于验证算法,关键字个数假定为不超过13,哈希表长定为13//关键字插入函数void InsertHashTable(KeyType k){        for(int i=0; i<13; i++)                if( NIL == HashTable[(k+i)] || DEL == HashTable[(k+i)] ) {                        HashTable[(k+i)] = k;                        break;                }}//哈希表的查找操作,查找成功则返回下表,否则返回-1int HashSearch(KeyType k){        int i = 0;        while( i<13 ) {                if( k == HashTable[((k)+i)] )                         return ((k)+i);                else if( NIL == HashTable[((k)+i)] )                         return -1;                i++;        }        if( 13 == i )                 return -1;}//创建哈希表void CreateHashTable(){        int n;        KeyType key;        for(int i=0; i<13; i++)                HashTable[i] = NIL;        printf("请输入关键字的个数:\n");        scanf("%d", &n);        printf("请输入%d个关键字的值:\n", n);        for(i=0; i

测试数据以及测试结果

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0