线性表的相关介绍

来源:互联网 发布:windows ftp登录命令 编辑:程序博客网 时间:2024/06/16 02:54

线性表:零个或多个数据元素的有限序列。

它有两种存储结构,分别是顺序存储结构和链式存储结构。

其中,顺序存储结构优点:可以快速的存取表中任一位置的元素;

                                 缺点:插入和删除操作需要移动大量的元素。

链式存储结构:对于插入或删除数据越频繁的操作,其优势就越是明显,比如单链表。

头结点:头结点分为两部分,数据域和指针域,头结点的数据域可以不存储任何的信息,也可以存储如线性表长度等附加信息;指针域存储指向第一个结点的指针。

最后一个结点的指针指向NULL ,或用^表示,表示该链表已经结束。

//线性表单链表的存储结构声明

typedef   int   ElemType;typedef   struct Node{   ElemType data;   struct Node *next;}Node;typedef struct Noe *Linklist;

单链表的插入和删除操作:

s->next=p->next;p->next=s;

//完成一个结点的插入。具体的就是在结点p和结点p->next中插入结点s;

p->next=p->next->next;

q=p->next;p->next=q->next;

//上面两行的作用是相同的,都是完成结点q(p->next)的删除,前后两个结点分别是结点p和结点q->next(p->next->next)