【leetcode】设计有序流

 

typedef struct {
    int cur;
    int n;
    char** value;
} OrderedStream;

OrderedStream* orderedStreamCreate(int n) {
    OrderedStream* obj=(OrderedStream*)calloc(sizeof(OrderedStream),1);
    obj->value=(char**)calloc(n+1,sizeof(char*));
    obj->n=n+1;
    obj->cur=1;  
    return obj;
}
char ** orderedStreamInsert(OrderedStream* obj, int id, char * value, int* retSize) {
    obj->value[id]=value;  
    int i;
    for(i=obj->cur; i<obj->n && obj->value[i]; i++);
    *retSize=i-obj->cur;
    obj->cur=i;
    return obj->value+id;
}
void orderedStreamFree(OrderedStream* obj) {
    free(obj);
}

 

posted @ 2020-11-22 11:31  温暖了寂寞  阅读(118)  评论(0编辑  收藏  举报