今天学会了如何用数组传入单链表并进行初始化 ,用的是.cpp的源文件。
#include <stdio.h>
#include <malloc.h>
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode* next; //指向后继结点
} LinkNode; //声明单链表结点类型
// 尾插法建立单链表
void CreateListR(LinkNode*& L, ElemType a[], int n)
{
struct LNode* s, * r;
L = (LinkNode*)malloc(sizeof(struct LNode));
L->next = NULL;
r = L;
for (int i = 0; i < n; i++)
{
s = (LinkNode*)malloc(sizeof(struct LNode));
s->data = a[i];
r->next = s;
r = s;
}
r->next = NULL;
}
// 输出链表中的数据
void DispList(LinkNode* L)
{
struct LNode* p = L->next;
while (p != NULL)
{
printf("%d ", p->data);
p = p->next;
}
}
int main()
{
int i = 0, n, data;
scanf("%d", &n);
ElemType a[100];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
LinkNode* L;
CreateListR(L, a, n);
DispList(L);
return 0;
}