//线性表的链式表示和实现
#include<stdio.h>
#include<malloc.h>
#include<process.h>//exit()等
typedef int Status;
#define OVERFLOW -2
#define ERROR 0
#define OK 1
//线性表的单链表存储结构
struct LNode
{
int data;
LNode *next;//一个指向自身的指针
};
typedef LNode* LinkList;//LinkList是指向LNode类型的指针
//构造一个空的线性表L
void InitList(LinkList &L)
{
L=(LinkList)malloc(sizeof(LNode));
if(!L)
exit(OVERFLOW);
L->next=NULL;
}
//返回线性表L中的元素的个数
int ListLength(LinkList L)
{
int i=0;
LinkList p=L->next;//p指向第一个节点
while(p)
{
i++;
p=p->next;
}
return i;
}
//在带有头结点的单链线性表L中的第i个位置之前插入元素e
Status ListInsert(LinkList L,int i,int e)
{
int j=0;
LinkList p;
LinkList s;
p=L;
while(p && j<i-1)//寻找第i-1个节点
{
p=p->next
线性表的链式表示和实现
最新推荐文章于 2022-08-02 20:11:52 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)