//单链表LinkList的定义如下
typedef struct LNode //定义单链表节点类型
{
ElemType data; //存放元素值
struct LNode *next; //指向后继节点
}LinkList;
typedef int ElemType;
//建立单链表
//方法1:头插法建表
void CreateListF(LinkList *&L, ElemType a[], int n)
{
LinkList *s;
int i;
L = (LinkList *)malloc(sizeof(LinkList));
L->next = NULL;
for (int i = 0; i < n; i++)
{
s = (LinkList *)malloc(sizeof(LinkList));
s->data = a[i];
s->next = L->next;
L->next = s;
}
}
//方法2:尾插法建表
void CreateListR(LinkList *&L, ElemType a[], int n)
{
LinkList *s, *r;
int i;
L = (LinkList *)malloc(sizeof(LinkList)); //创建头结点
r = L; //r始终指向尾节点,开始指向头结点
for (int i = 0; i < n; i++) //循环建立数据节点
{
s = (LinkList *)malloc(sizeof(LinkList)); //创建数据节点*s
s->data = a[i]; //将*s插入*r之后
r->next = s;
r = s;
}
r->next = NULL; //尾节点next域置为NULL
}
单链表
最新推荐文章于 2023-05-06 22:43:40 发布