Ejemplo n.º 1
0
int
main(void)
{
    srand((unsigned)time(0));

    int count = 20, i;
    printf("### Function Test ###\n");
    printf("=== Init Skip List ===\n");
    skiplist *sl = slCreate();
    for (i = 0; i < count; ++i) {
        slInsert(sl, i);
    }
    printf("=== Print Skip List ===\n");
    slPrint(sl);

    printf("=== Search Skip List ===\n");
    for (i = 0; i < count; ++i) {
        int value = rand() % (count + 10);
        slSearch(sl, value);
    }

    printf("=== Delete Skip List ===\n");
    for (i = 0; i < count + 10; i += 2) {
        printf("Delete[%d]: %s\n", i, slDelete(sl, i) ? "SUCCESS" : "NOT FOUND");
    }
    slPrint(sl);

    slFree(sl);
    sl = NULL;

    return 0;
}
Ejemplo n.º 2
0
static int
_insert(lua_State *L) {
    skiplist *sl = _to_skiplist(L);
    double score = luaL_checknumber(L, 2);
    luaL_checktype(L, 3, LUA_TSTRING);
    size_t len;
    const char* ptr = lua_tolstring(L, 3, &len);
    slobj *obj = slCreateObj(ptr, len);
    slInsert(sl, score, obj);
    return 0;
}