数据结构 散列表 除留余数法 线性探测法解决冲突

已知9名学生的信息,每个学生信息包括编号和姓名。学生信息为11,王红,22,刘军,47,王亮,92,张强,16,吴迪,3,李伟,7,赵磊,29,钱鹤,8,孙芳。用散列表实现以编号为关键码的查找。散列函数使用除留余数法,散列表长11,即Hash(key)=key%11。用线性探测法解决冲突。要求从文本文件中读取学生信息(相邻数据间用空白符分隔,且姓名不含有空白符),建立散列表,然后输入学生编号,查找并显示学生姓名

文件的实现还是需要自己写一个文本文件。

  • #include
    #include
    #include
    typedef struct
    {
    	int sno;
    	char name[10];
    }student;
    
    void creat(student t,student s[],int i)
    {
    	int n;
    	n=t.sno%11;
    	if(s[n].sno==0) s[n]=t;
    	else {while(s[n%11].sno!=0)
    	n++;
    	s[n]=t; 
    	} 
     } 
    void ini(student s[],int n)
    {
    	int i;
    	for(i=0;i

代码输出结果为

数据结构 散列表 除留余数法 线性探测法解决冲突_第1张图片

你可能感兴趣的:(数据结构)