init() { // 生成一个节点 NIL = newNodeOfLevel(0); NIL->key = 0x7fffffff; randomBits = random(); randomsLeft = BitsInRandom/2; };
list newList(){ list l; int i; l = (list)malloc(sizeof(struct listStructure)); l->level = 0; l->header = newNodeOfLevel(MaxNumberOfLevels); for(i=0;i<MaxNumberOfLevels;i++) l->header->forward[i] = NIL; rieturn (l); };
/* 生成一个空的跳表数据结构 */ list newList() { list l; int i; // 申请list类型大小的内存 l = (list)malloc(sizeof(struct listStructure)); // 设置跳表的层level,初始的层为0层(数组从0开始) l->level = 0; // 生成header信息部分 l->header = newNodeOfLevel(MaxNumberOfLevels); // 将header的forward数组清空 for(i=0;i<MaxNumberOfLevels;i++) l->header->forward[i] = NIL; return(l); };