线性表基本运算在顺序表中的实现(1)初始化线性表InitList(L)只需将length成员设置为0即可void InitList((SqList*&L)//引用型指针L=(SqList *) malloc (sizeof(SqList) ;/*分配存放线性表的空间*/L->length=0 ;本算法的时间复杂度为0(1)21
21 (1)初始化线性表 InitList(L) 只需将length成员设置为0即可。 void InitList (SqList *&L) //引用型指针 { L=(SqList *) malloc (sizeof(SqList)); /*分配存放线性表的空间*/ L->length=0; } 本算法的时间复杂度为O(1)。 线性表基本运算在顺序表中的实现
(2)销毁线性表DestroyList(L)释放线性表L占用的内存空间void DestroyList (SqList *&L)free(L);本算法的时间复杂度为0(1)。22
22 (2)销毁线性表 DestroyList(L) 释放线性表L占用的内存空间。 void DestroyList (SqList *&L) { free(L); } 本算法的时间复杂度为O(1)
(3)判定是否为空表ListEmpty(L)若L为空表,则返回1,否则返回0intListEmpty(SqList *L)return(L->length=-=0):本算法的时间复杂度为0(1)。23
23 (3)判定是否为空表 ListEmpty(L) 若L为空表,则返回1,否则返回0。 int ListEmpty (SqList *L) { return(L->length==0); } 本算法的时间复杂度为O(1)
(4)求线性表的长度ListLength(L)只需返回length成员的值即可int ListLength(SqList *L)return(L->length);本算法的时间复杂度为0(1)24
24 (4)求线性表的长度 ListLength(L) 只需返回length成员的值即可。 int ListLength(SqList *L) { return(L->length); } 本算法的时间复杂度为O(1)
(5)输出线性表DispList(L)该运算当线性表L不为空时,顺序显示L中各元素的值void DispList(SqList*L)inti;if (ListEmpty(L)))return;for (i-0; i<L->length; i++)printf("%c", L->data[iD);printf("\n");时间复杂度为:O(L->length)或O(n)25
25 (5)输出线性表 DispList(L) 该运算当线性表L不为空时,顺序显示L中 各元素的值。 void DispList(SqList *L) { int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%c", L->data[i]); printf("\n"); } 时间复杂度为:O(L->length)或O(n)