线性表的链式存储
顺序存储结构的插入和删除需要移动大量元素,显然很浪费时间。如果用链表来创建线性表,让两个元素之间能够有联系,找到一个元素就能知道它的下一个元素的位置在哪里。 创建一个线性表的链表 typedef struct Node { int data; //数据域 struct Node *next; //指针域 }Node; typedef struct Node *LinkList; 链表由数据域和指针域组成。 线性表-单链表 单链表的插入 操作如下: 代码如下: int Linkinsert(LinList *L,int i,int e) { int j; LinkList p,s; //p为线性表L,s为新建的结点,数据域放入要插入的元素 p=*L; j=1; while(p&&j<i) //找到第i-1个节点 { p=p->next; ++j; } if(!p||j>i) { return ERROR; } s=(LinkList)malloc(sizeof(Node)); //为新节点申请空间 s->data=e; s->next=p->next; p->next=s; return OK; } 单链表的删除 操作如下: 代码如下 int LinkDelet(LinkList *L,int i,int e) { int j; LinkList p,s; /