1.线性结构的特点: 在数据元素的非空有限集中,存在惟一的一个被称为“第一个”的数据元素;存在惟一的一个被称做“最后一个”的数据元素;除第一个之外,集合中的每个数据元素均只有一个前驱;除最后一个之外,集合中每一个数据元素均只有一个后继。
线性表的链式存储结构特点: 用一组任意的存储单元存储线性表的数据元素(这组存储单元可以连续,也可不连续)。优点: 链表的第一个位置和其他位置的操作统一;空表和非空表的操作统一。
单链表的头插法:
LinkList List_HeadInsert(LinkList &L){
LNode *s ;
ElemType x;
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;
scanf("%d",&x);
while(x!=结束条件){
s=(LNode *)malloc (sizeof(LNode))
s->data = x;
s->next = L->next;
L->next = s;
scanf("%d",&x);
}
return L;
}
其时间复杂度为O(n)
尾插法:
LinkList List_TailInsert(LinkList &L){
ElemType x;
L = (LinkList)malloc(sizeof(LNode));
LNode *s,*r=L;
L->next = NULL;
scanf("%d",&x);
while(x!=结束条件){
s=(LNode *)malloc (sizeof(LNode))
s->data = x;
r->next = s;
r = s;
scanf("%d",&x);
}
return L;
}
时间复杂度:O(n)