先写头文件再写
#pragma once
typedef int ELEM_TYPE;
#define MAX_SIZE 12
//链地址法 中 后边连接的单链表的有效节点设计:
typedef struct Node
{
ELEM_TYPE data;//一个数据域
struct Node *next;//一个指针域
}Node, *PNode;
//链地址法的 哈希表头设计
typedef struct Head
{
struct Node arr[MAX_SIZE]; //数组 12个格子 每一个格子存放一个单链表的表头(用的是有效节点的结构体设计)
}Head, *PHead;
//函数
//初始化
void Init_list_hash(struct Head* hd);
//插入(头插)
bool Insert_head(struct Head *hd, ELEM_TYPE val);
//删除
bool Del_val(PHead hd, ELEM_TYPE val);
//查找
struct Node * Search(PHead hd, ELEM_TYPE val);
//判空
bool IsEmpty(PHead hd);
//获取有效个数
int Get_length(PHead hd);
//清空
void Clear(PHead hd);
//销毁
void Destroy(PHead hd);
//打印
void Show(PHead hd);
再写cpp文件
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "list_hash.h"
//初始化//对那数组中的12个单链表头结点进行初始化
void In