69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
}Node, *LinkList;
LinkList CreateList(LinkList *L);
void PrintList(LinkList L);
int main(void)
{
LinkList phead = NULL;
CreateList(&phead);
PrintList(phead);
return 0;
}
LinkList CreateList(LinkList *L)
{
if (!L)
return NULL;
LinkList p, s;
int i, len, data;
*L = (LinkList)malloc(sizeof(Node));
p = *L;
p->next = NULL;
scanf("%d", &len);
for (i = 0; i < len; i++) {
s = (LinkList)malloc(sizeof(Node));
scanf("%d", &data);
s->data = data;
s->next = p->next;
p->next = s;
}
return *L;
}
void PrintList(LinkList L)
{
LinkList p = L->next;
while (p) {
printf("%d ", p->data);
p = p->next;
}
putchar(10);
}
带哨兵的头插法创建链表demo。