コード例 #1
0
ファイル: skipLists.c プロジェクト: yangaofeng/x_socket
init() { 
    // 生成一个节点
    NIL = newNodeOfLevel(0);
    NIL->key = 0x7fffffff;
    randomBits = random();
    randomsLeft = BitsInRandom/2;
};
コード例 #2
0
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);
};
コード例 #3
0
ファイル: skipLists.c プロジェクト: yangaofeng/x_socket
/*
   生成一个空的跳表数据结构
   */
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);
};