c语言描述的数据结构的注意细节

1:顺序表使用基址来表示和存储
    int *p;
    p=(int *)malloc(initsize*sizeof(int));
    L—>p[x]=xx;
2:链表 在于除了更改数据还要更改前后与之关联的指针域,利用头指针可以通过l->next找到第i个地址对应的结点
    while(p&&j<i){
        p=p->next;
        j++;
    }
    s=malloc..;//分配新的结点空间
    p->next=s;
    s->next=p->next;
    s->data=e;
3:栈:
    判空:s->base=s->top;
    非空栈的栈顶指针始终指向栈顶的下一个位置;
    同样是通过基址来存储和访问,不过插入和删除都必须在栈顶完成;s->top=s->base+s.stacksize;
4:链队列:
    队列有头有尾,而且每个结点有数据域和指针域;
    判空:ql->front=ql->rear;
    插入删除操作要不仅要改变结点的指针和数据域,还要更改队头或者队尾;
5:二叉树:
    每一个结点有左右指针域有数据域;
    递归访问,非递归访问(层序遍历,使用栈,使用栈时要注意右孩子先入栈,为了后出栈达到从左到右的访问顺序);
    
原文地址:https://www.cnblogs.com/zzy-frisrtblog/p/5725144.html