请在 下方输入 要搜索的题目:

创建哈希表及查找(拉链法)

创建哈希表及查找(拉链法)

发布时间:2025-05-30 19:39:00
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:

void CreateHash(HashTable HT], int n) {

    int hash_tableP];

    int temp;

    for(int i=0; i<n; i++)

        cin >> hash_tablei];

    for(int i=0; i<n; i++) {

        temp = hash_tablei] % P;

        if(HTtemp]==NULL) { 

            HTtemp] = (HashTable)malloc(sizeof(HashNode));

            HashTable p = (HashTable)malloc(sizeof(HashNode));

            p->key = hash_tablei];

            HTtemp]->next = p;

            p->next = NULL;

        } else {

            HashTable p = (HashTable)malloc(sizeof(HashNode));

            p = HTtemp];

            while(p->next!=NULL) {

                p = p->next;

            }

            HashTable q = (HashTable)malloc(sizeof(HashNode));

            q->key = hash_tablei];

            p->next = q;

            q->next = NULL;

        }

    }

}

float ASL(HashTable HT]) {

    double sum=0, len=0;

    for(int i=0; i<P; i++) {

        if(HTi] == NULL)

            continue;

        int cnt=1;

        HashTable p = (HashTable)malloc(sizeof(HashNode));

        p = HTi];

        while(p->next!=NULL) {

            p = p->next;

            sum+=cnt;

            cnt++;

            len++;

        }

    }

    return sum/len;

}


专业技术学习
专业技术学习
搜搜题库系统