线性表存储结构

线性表可以描述为:n个元素的有限序列。其存储结构分为顺序存储结构和链式存储结构。顺序存储结构是用一段连续的地址依次存储表中的数据元素,在C语言中可以使用动态数组来实现线性表的顺序存储。

定义:

#define LIST_INIT_SIZE 100

#define LIST_INCREMENT 10

typedef struct{

    ElemType  *elem;

    int length;

    int listsize;

}Sqlist;

操作:

   1: InitList(L);                          /* 构造线性表 */
   2: DestroyList(L);  /* 销毁线性表 */  
   3: ClearList(L);                        /* 将线性表置空 */
   4: ListEmpty(L);                        /* 判断线性表是否为空 */
   5: ListLength(L);                       /* 返回线性表长度 */
   6: GetElem(L, i, &e);                   /* 用e返回L中第i个元素 */
   7: LocateElem(L, e, compare());         /* 返回L中第一个与e满足关系compare()的元素 */
   8: PriorElem(L, cur_e, &pre_e);         /* 返回cur_e的前驱元素 */
   9: NextElem(L, cur_e, &next_e);         /* 返回cur_e的后继元素 */
  10: ListInsert(L, i, e);                 /* 在L中位置i之前插入元素e */
  11: ListDelete(L, i, &e);                /* 删除L中第i个元素 */
  12: ListTraverse(L, visit());            /* 对每个元素调用visit() */
原文地址:https://www.cnblogs.com/QQbai/p/3384545.html