#include<stdio.h>
#include<stdlib.h>
typedef struct HashTableNode
{
int data;
int flag;
}Node;
Node *T[11];
int DList[8]={22,41,53,46,30,13,01,67};
void GetHashTable();
Node *CreateHashTableNode(int data,int flag);
void AverageSearchLength();
void GetHashTable()
{
int pos,flag;
for(int i=0;i<8;i++)
{
flag=1;
pos=3*(DList[i])%11;
while(T[pos]!=NULL)
{
++pos;
++flag;
}
T[pos]=CreateHashTableNode(DList[i],flag);
}
}
Node *CreateHashTableNode(int data,int flag)
{
Node *p;
p=(Node *)malloc(sizeof(Node));
p->data=data;
p->flag=flag;
return p;
}
void AverageSearchLength()
{
int sum=0;
for(int i=0;i<11;i++)
{
if(T[i]!=NULL)
{
sum+=T[i]->flag;
}
}
printf("%d\n",sum/8);
}
int main()
{
GetHashTable();
AverageSearchLength();
return 0;
}