int ELFhash(char*key) { unsignedlong h = 0; unsignedlong g; while(*key ) { h =( h<< 4)+*key++; g = h & 0xf0000000L; if( g ) h ^= g >> 24; h &=~g; } return h; }
staticList*list;//名单
staticList*query;//查询列表
int cmp(constvoid*a,constvoid*b){ returnlist[*(int*)a].value >=list[*(int*)b].value ? 1 :-1; }
int main(){//1003
int num_list = 0, num_query = 0;//名单数,查询数
scanf("%d",&num_list);
int*pIndex =newint[num_list];//pList为索引列表
list=newList[num_list];//建立一级索引列表(哈希表)
int i = 0, j = 0, k = 0; for(i = 0; i < num_list; i++){//读取名单,并建立一级哈希表